SOS!!!关于VC中使用ADO的两个问题(100分)

  • 主题发起人 主题发起人 dragonfox
  • 开始时间 开始时间
D

dragonfox

Unregistered / Unconfirmed
GUEST, unregistred user!
1.请问我用ADO的COMMAND指针执行存储过程时,在存储过程中用SELECT语句返回了结果集,
但是我只需要存储过程的输出参数,因此没有把COMMAND指针执行存储过程返回的结果集赋
给RECORDSET指针,也就没有CLOSE这个结果集,这样会不会照成什么隐患,比如内存泄露等
问题?
2.我的程序需要长时间运行,可能达到一年,我在程序刚启动时用一个ADO连接指针连接上
数据库,以后访问数据库就都使用这个连接,在运行过程中会不会出现异常而导致数据库连
接断开的情况(我想应该会有吧)?
因此我在每次访问数据库前都先去判断是否还连接着,如果没有则重新连接,用如下的语句
可以实现吗?
try
{
if (m_pConnect->State == adStateOpen) //没有断开
return 0;
if (m_pConnect->State == adStateClosed) //断开
{
//重新连接
HRESULT AdoRet = m_pConnect->Open(......);
if( !SUCCEEDED(AdoRet) ) //连接失败
return -1;
return 0; //连接成功
}
return -1; //状态未知
}
catch(_com_error e) //COM异常
{
......
return -1;
}
catch(...) //其他异常
{
......
return -1;
}
 
MSDN 中有CC++调用ADO的示例
 
后退
顶部