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区别在哪里?
展开
 我来答
zhccsd
推荐于2017-12-15 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:915万
展开全部
不关闭也不会出问题,但是open一个以后再去open另一个就必须先关闭,否则会报错。
关闭的语句:
if (m_pConnection->GetState() == adStateOpen)
{
m_pConnection->Close();
}
if (m_pConnection)
{
m_pConnection.Release();
m_pConnection = NULL;
}
close仅仅是类似于设置状态为关闭,本身内存资源还在,release就是释放内存
追问
如果直接调用release就不用关闭了?
追答
我试了下直接调用release也不会出问题,但是没测试release以后再open会怎么样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式