VC中ado数据库操作问题close和release的区别
_ConnectionPtrpLink;pLink.CreateInstance("ADODB.Connection");_RecordsetPtrpRecord;pRe...
_ConnectionPtr pLink;
pLink.CreateInstance("ADODB.Connection");
_RecordsetPtr pRecord;
pRecord.CreateInstance("ADODB.Recordset");
在接下来的过程中,如果pRecord->open(...);
然后结束,调用close然后再release是否是必须的?
close和release区别在哪里? 展开
pLink.CreateInstance("ADODB.Connection");
_RecordsetPtr pRecord;
pRecord.CreateInstance("ADODB.Recordset");
在接下来的过程中,如果pRecord->open(...);
然后结束,调用close然后再release是否是必须的?
close和release区别在哪里? 展开
1个回答
展开全部
不关闭也不会出问题,但是open一个以后再去open另一个就必须先关闭,否则会报错。
关闭的语句:
if (m_pConnection->GetState() == adStateOpen)
{
m_pConnection->Close();
}
if (m_pConnection)
{
m_pConnection.Release();
m_pConnection = NULL;
}
close仅仅是类似于设置状态为关闭,本身内存资源还在,release就是释放内存
关闭的语句:
if (m_pConnection->GetState() == adStateOpen)
{
m_pConnection->Close();
}
if (m_pConnection)
{
m_pConnection.Release();
m_pConnection = NULL;
}
close仅仅是类似于设置状态为关闭,本身内存资源还在,release就是释放内存
追问
如果直接调用release就不用关闭了?
追答
我试了下直接调用release也不会出问题,但是没测试release以后再open会怎么样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询