我在错误处理中
try
{
   m_pConnection....
   ....
}catch(_com_error &e)
{
  //想在这里判断错误类型,关键是想发现数据库连接是否断开需要重连
}
请问如何判断呢?还有那些复杂的情况是需要断开重连呢?另外
class a和class b都分别有自己的_ConnectionPtr m_pConnection成员,当a已经连接,我可以用b.m_pConnection=a.m_pConnection使b也能访问数据库,不用open,想问的时候用=操作好,还是使用attach或clone方法好呢?
这样如果在b中调用了m_pConnection->close方法,会不会导致a也断开了呢??我的希望是a不要断开。

解决方案 »

  1.   

    1,我认为要测试数据库是不是还连着,只能用重连来进行。
    2:=操作好,还是使用attach或clone方法好呢,自己看着办吧。那个行就行,都行更好。
    3:m_pConnection打开后返回的应该是句柄,关了a中的b也应该是关了。建我别关连接,只关记录不就行了,连接留在最后程序退出时来关。
      

  2.   

    建议你看一下VC知识库文章 - 使用ADO封装类的数据库程序开发实例[第二版] (上)(下).htm
    ,那篇文章里好像专门有这个测试的功能的,虽然代码很长,但是注释很好呀。