我的源程序如下 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
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
cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & 数据库名
让用户输入账号和密码,假如输入错误,也不要弹出系统自己的SQL登录窗口,由程序控制最多输入3次。
这个办法没用,我试过的
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
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