像下列伪代码,正确吗: strSql="select * ……;
pRs->Open(_bstr_t(strSql), //pRs是个_RecordsetPtr
pConn.GetInterfacePtr(), //pConn是个_ConnectionPtr
adOpenDynamic,
adLockOptimistic,
adCmdText);
…… //数据处理
……
pRs->Close();
pRs = NULL; //这句之前要加一句pRs->Release()吗? 按道理COM的指针都要Release,但我不知道系统是否在Close()里帮我Release过了。我程序里没加Release(),好像也没看出什么不妥,也没看到内存泄漏什么的。但我心里总不踏实,特上来问一下。谁对这有经验?
pRs->Open(_bstr_t(strSql), //pRs是个_RecordsetPtr
pConn.GetInterfacePtr(), //pConn是个_ConnectionPtr
adOpenDynamic,
adLockOptimistic,
adCmdText);
…… //数据处理
……
pRs->Close();
pRs = NULL; //这句之前要加一句pRs->Release()吗? 按道理COM的指针都要Release,但我不知道系统是否在Close()里帮我Release过了。我程序里没加Release(),好像也没看出什么不妥,也没看到内存泄漏什么的。但我心里总不踏实,特上来问一下。谁对这有经验?
http://topic.csdn.net/t/20060412/10/4680399.html
Res->Close();
Res.Release();
Res = NULL; if(Conn->State)
Conn->Close();
Conn.Release();
Conn = NULL;