VB连接SQL SERVER数据库出错问题.

97xinben2 2003-07-08 10:35:47
在VB中用ADO数据控件连接SQL SERVER数据库,程序运行时,如果SQL SERVER没有启动,系统自动报错。如何在系统自动报错之前抓到报错句柄,利用VB程序控制错误!
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alicky 2003-07-08
  • 打赏
  • 举报
回复
Option Explicit
Public SqlConn As New ADODB.Connection

'功能简介:建立SQL数据库公共链接
'参数一:服务器名或IP
'参数二:数据库名称
'参数三:登陆用户名称
'参数四:登陆用户密码
'参数五:延时
'返回值:"ok"--成功, 否则返回错误信息
Function PulbicSQLConn(StrServerName As String, StrDataName As String, StrUserName As String, StrPassword As String, IntOutTime As Integer) As String
On Error GoTo SQLConnErr
Dim StrSql As String
StrSql = "Provider=sqloledb;Data Source=" & StrServerName & ",1433;Initial Catalog=" & StrDataName & ";User ID=" & StrUserName & ";Password=" & StrPassword & ";"
If SqlConn.State <> 0 Then SqlConn.Close
SqlConn.ConnectionTimeout = IntOutTime
SqlConn.Open StrSql
PulbicSQLConn = "ok"
Exit Function
SQLConnErr:
PulbicSQLConn = Err.Description
If SqlConn.State <> 0 Then SqlConn.Close: Set SqlConn = Nothing
End Function

'功能简介:关闭SOL数据库公共链接
Function PublicMdbClose()
If SqlConn.State <> 0 Then SqlConn.Close: Set SqlConn = Nothing
End Function
97xinben2 2003-07-08
  • 打赏
  • 举报
回复
用 vb 提供的On Error GoTo 对用代码连接数据库处理是没有问题。但是用ADO控件连的话就不行了。比如在Form1中放了一个ADO控件。程序跟踪运行到form1.show是就出错。怎么决绝这问题
lwm1977 2003-07-08
  • 打赏
  • 举报
回复
On Error GoTo line
On Error GoTo 0

Error GoTo line 启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。

On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。


tollers 2003-07-08
  • 打赏
  • 举报
回复
On Error GoTo DBOpenErr

Set cnnDB = New ADODB.Connection
If strConn <> "" Then
cnnDB.Open strConn
msgbox "连接成功"
End If
exit sub
DBOpenErr:
msgbox "连接失败"
xfzzf 2003-07-08
  • 打赏
  • 举报
回复
on error resume next
jameschan 2003-07-08
  • 打赏
  • 举报
回复
我觉得on error resume next比较好
On Error Resume Next
...连接代码
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical
End If
beibeilong 2003-07-08
  • 打赏
  • 举报
回复
on error resume next

1,216

社区成员

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

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