非常感谢online以及yinweihong帮助我一无所知的VB新手完成了一个小的工具!基本功能都已实现。但是还有几个小问题请几位帮忙完善一下(:
问题1:我在执行脚本的时候如果正确以下代码没有问题,但是如果脚本有问题就会报错并结束程序。如何做可以做到提示检查选择的数据库以及脚本而且不会结束程序。
比如脚本文件内容为:update GLname set seq = 3 where seq = 1 而我选择的数据库中没有“GLname”的表。系统提示错误确定后程序就结束了。
Private Sub Command3_Click()
Call Command1_Click
If txtdata.Text = "" Then
MsgBox "请选择选择数据库!", vbCritical, "登陆提示"
txtdata.SetFocus
Exit Sub
End If
Open App.Path & "\" & "update.sql" For Input As #1   ' 打开输入文件。
Do While Not EOF(1)   ' 循环至文件尾。
   Input #1, sqljb   ' 将数据读入变量。
Loop
Close #1   ' 关闭文件。
conn.Execute sqljb
MsgBox "清除成功", vbOKOnly + vbInformation, "提醒"
End Sub

解决方案 »

  1.   

    问题2:Command2_Click为测试连接成功与否的按钮,我想实现执行Command2_Click如果连接成功提示“连接成功”否则提示"连接错误!请检查用户名密码,服务器名称以及数据库是否有误。"以下为连接数据库的代码,请教Command2_Click的代码该如何写?
    Private Sub OpenConnection()
    On Error GoTo EH
    Dim ser, user, pass, ufdata
    ser = txtser
    user = txtuser
    pass = txtpass
    ufdata = txtdataSet conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    conn.ConnectionString = "driver={SQL Server};" & "server=" & ser & ";uid=" & user & ";pwd=" & pass & ";database=" & ufdata & ""
    conn.Open
    Exit Sub
    EH:
      MsgBox "连接错误!请检查用户名密码,服务器名称以及数据库是否有误。", vbCritical, "登陆提示"
    End SubPrivate Sub Command2_Click()
    Call OpenConnection
    End Sub
      

  2.   

    online在线吗?请帮小弟完善一下非常感谢!
      

  3.   

    1.
    Command1_Click是检测出该SQL 服务器上所有数据库么?
    曾给了检测出特定数据库中的数据表代码
    你既然要更新GLname表  怎么该表又会不存在呢?
    2.
    conn.Open
    后加一句msgbox "连接成功"
    eixt sub去掉
      

  4.   

    用错误处理
    On Error GoTo EH
    conn.Execute sqljb
    MsgBox "清除成功", vbOKOnly + vbInformation, "提醒"
    EH:
      MsgBox "连接错误!表可能不存在", vbCritical, "登陆提示"
    End Sub你试试啊或者先检查表是否存在
    conn.open "你的连接"
    set rs=conn.execute("GLname",,adcmdtabledirect)
    if err.number<>0 then
    msgbox "表不存在"
    else
    msgbox "表存在"
    end if