因为我们的服务器不是专门的,也只是一台数据服务器,是按上班时间正常关闭的,所以有时走的早来得迟也是难免的,所以有必要在启动时做一个预处理,若服务器未开就提示用户连接失败,退出。我不想用 Timer控件来做,因为我的开发是在EXCEL+ACCESS的平台,每次增加控件都得重新注册,很麻烦,而且局域网内用户较多,所以想只用代码解决。经查询在CSDN中有网友已经提问如下解决,
Private Sub Timer1_Timer()
If conn.State = adStateClosed Then
If MsgBox("数据库连接没有完成,是否继续等待", vbExclamation + vbYesNo)=vbOk Then
Exit Sub
Else
Unload Me
End
End If
Else
Timer1.Enabled = False
End If
End Sub如果我不用Timer控件,这代码该如何写呀?利用ConnectionTimeout 属性 (ADO)如何解决这个超时连接的问题?谢谢!
Private Sub Timer1_Timer()
If conn.State = adStateClosed Then
If MsgBox("数据库连接没有完成,是否继续等待", vbExclamation + vbYesNo)=vbOk Then
Exit Sub
Else
Unload Me
End
End If
Else
Timer1.Enabled = False
End If
End Sub如果我不用Timer控件,这代码该如何写呀?利用ConnectionTimeout 属性 (ADO)如何解决这个超时连接的问题?谢谢!
解决方案 »
- 这段代码能实现基本的socket通讯吗?帮朋友问的(表怪偶不懂提问的艺术Orz)
- 新手简单问题!~~~~up有分
- vb连接oracle的驱动问题,请各位提示一下
- win98开机出现"disk I/O error" 用启动盘进dos,a:>c:回车后,找不到c区,D驱能找得到。但fdisk可以看见c区信息.D驱能找得到。请问这是为
- 高分请教加密高手!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 客户端与服务器端连接的问题80
- vb中多元素图形文件的显示问题
- 请问VB要做.exe这个怎么做
- 本人有一个vb程序,现在是用access数据库,我如何改用sql server数据库呢?
- 键盘问题,一定给分。
- 请问vb6中如何在菜单项动态添加控件呢?
- 疑难问题求帮~关于临时表的小问题~
con.ConnectionTimeout = 15
conn.open ...
exit sub
errorHandler:
加出错处理(连接失败,退出)
Sub mydovro()
Set CNN = CreateObject("ADODB.Connection")
Set RST = CreateObject("ADODB.Recordset")
CNN.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & "d:\dovro\sales.mdb"
CNN.ConnectionTimeout = 15
If CNN.State = adStateClosed Then
If MsgBox("数据库连接没有完成,是否继续等待", vbExclamation + vbYesNo) = vbOK Then
Exit Sub
End Sub
好象不对哦!
Set moConn = New ADODB.Connection
On Error GoTo ErrorHandler
moConn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\DoNotExist.mdb"
Exit Sub
ErrorHandler:
MsgBox Err.Description
End SubPublic Sub TerminateConnection()
On Error Resume Next
moConn.Close
Set moConn = Nothing
End Sub