cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & 数据库名

解决方案 »

  1.   

    我的意思是
    cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & 数据库名
    让用户输入账号和密码,假如输入错误,也不要弹出系统自己的SQL登录窗口,由程序控制最多输入3次。
      

  2.   

    on error goto your_sub
      

  3.   

    on error goto your_sub
    这个办法没用,我试过的
      

  4.   

    我在调试时 ON ERROR 根本不起作用。
      

  5.   

    我的源程序如下
    Private Sub cmdOK_Click()
        'ToDo: 创建测试密码是否正确
        '检查正确密码
        'On Error Resume Next
        Dim CnStr As String
        On Error GoTo error1
        If DE.CN.State <> 0 Then
           DE.CN.Close
        End If
        If Len(Text2.Text) = 0 Then
           LoginCount = LoginCount + 1
           MsgBox "用户名不能为空"
        Else        CnStr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & Text2.Text & " ;password=" & Text3.Text & "; Initial Catalog=招标系统;Data Source=cqs"
            DE.CN.Open CnStr        If (DE.CN.State <> 0) Then
                OK = True
                Me.Hide
            Else
               If LoginCount < 3 Then
                MsgBox "密码错误,注意大小写再试一次!", , "登录"
            LoginCount = LoginCount + 1
               Else
                cmdCancel_Click
               End If
            End If
        End If
                SendKeys "+{tab}"
    error1:
        
    End Sub
      

  6.   

    Private NewCn As New ADODB.Connection
    Private CnString As String
    Private LoginCount As IntegerPrivate Sub CmdConn_Click()
    On Error GoTo error1
    CnString = "PROVIDER=SQLOLEDB.1;uid=" & TxtID.Text & ";pwd=" & TxtPsd.Text & ";database=temp"
    NewCn.Open CnString
    error1:
    If NewCn.State <> 1 Then
        If LoginCount < 2 Then
            MsgBox "密码错误,注意大小写再试一次!", , "登录"
            LoginCount = LoginCount + 1
        Else
            Unload Form1
        End If
    End If
    End Sub