VB连接数据库失败的解决方法

zhaoleinefu 2010-07-29 07:54:40
用VB做了一个管理系统,用到数据库查询,由于系统在局域网内使用的,所以有时候会碰到路由器断电或者网线掉线等情况发生,这是VB数据库查询错误,强制退出系统,有没有什么方法解决一下,可以在数据库连接不上时提示操作用户检查出现的问题,但是不要退出管理系统。下面是我用的连接数据库的代码:
Public Function ConnectString() _
As String

ConnectString = "Provider=SQLOLEDB.1;User ID=sa;password=12345633;Initial Catalog=carddatabase;Data Source=" & IPstr

End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String

On Error GoTo ExecuteSQL_Error

sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.CursorLocation = 3
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If

ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
...全文
161 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnuser1 2010-07-30
  • 打赏
  • 举报
回复
赞同楼上的说法,当发生错误或网络问题失去连接时,弹出异常处理画面。

On error Goto eNext:
'Tell me what to do....
eNext:
MsgBox Err.Description, vbCritical, Err.Number
frmDatabaseReconntion.show
lyserver 2010-07-29
  • 打赏
  • 举报
回复
你已有On Error Goto xxx错误处理了啊。
在数据查询的开始处定义一个标签,然后在错误处理时,弹出一个选择对话框让用户选择是否继续,如果继续,则清理Err,再使用goto语句跳转到数据查询开始处的标签重新运行。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧