我想了个办法,就是一分钟自动重连一次
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就够了,定时判断它如果断开了就连接
建议你每操作数据库一次,就连接一次,操作完成 就断开。以免连接数超过限制次数