C/S系统,ADO连接数据库.请问如何判别客户端的ADO连接对象是否断开?比如,在客户机上连接服务器上数据库,进行数据库操作的时候,忽然掉网,请问该如何判别这种状态?
是同过异常号码来判别?还是通过连接对象的属性或者其他的什么来判别?
请赐教..谢谢了.

解决方案 »

  1.   

    If conn.State = 0 Then
                Set conn = Nothing
                conn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;" _
            End If
      

  2.   

    反正我是用错误来判断 我也不建立长期连接的ado 只有用的时候才连接
      

  3.   

    on error resume next
    rs.open ....
    if err.number <> 0 then
    msgbox "...错误!" & vbcrlf & err.description
    end if
    on error goto 0这样不管什么错误,反正有错就报~~~
      

  4.   

    xiaoMONKEY(小猴) 
    ------------
    我开始也希望通过判断conn.state的值来判断连接是否断开,但我实了下,发现,断开网络连接(数据库连接也就断了),然后执行程序接下来的CONN.Execute(sqlstr)语句,出现异常,但是conn.state=1,还是表示处于打开状态.所以还是不能判别当前连接断开了.
      

  5.   

    我用异常号解决了.由于我的库是oracle库,所以vb给出的err.number不正确,这也是我以前犯愁的原因,后来我从从err.description中截取oracle的错误号,然后作出相应处理就可以了.ORA-03113:通信通道的文件结束"
    ORA-03114:Oracle连接超时了
    ORA-12537: TNS: 连接已关闭
    ORA-12545: 因目标主机或对象不存在,连接失败
    ...等