日期:2014-05-17  浏览次数:22688 次

VB6程序怎么检测与SQL SERVER断开,并自动重连?
本帖最后由 thesky102 于 2013-09-28 12:18:20 编辑
我想了个办法,就是一分钟自动重连一次
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset

Private Sub Form1_Load()
    Set cnn = New ADODB.Connection
    cnn.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=false;User ID=sa;Initial Catalog=testdatabase;Data Source=computer"
    Set rs = New ADODB.Recordset
End Sub

Private Sub Timer1_Timer()
    rs.open ***************
    *
    *
    *
    *
    rs.close
End Sub

Private Sub Timer2_Timer()
    If rs.State = adStateOpen Then
        rs.Close
    End If
    If cnn.State = adStateOpen Then
        cnn.Close
    End If
    Set cnn = New ADODB.Connection
    cnn.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=false;User ID=sa;Initial Catalog=testdatabase;Data Source=computer"
    Set rs = New ADODB.Recordset
End Sub

我这个实现方式有什么不妥么?
尤其是timer2里的代码有问题么?
VB6没有try catch真心纠结。。。
vb6 sql?server 重连

------解决方案--------------------
如果需要只要一个Timer就够了,定时判断它如果断开了就连接

建议你每操作数据库一次,就连接一次,操作完成 就断开。以免连接数超过限制次数