Public cn As ADODB.Connection
Public Sub GetConnected()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=医院;Data Source=(local)"
cn.CommandTimeout = 10
cn.Open
End Sub
在该FORM的通用部分:
Dim str As String
Dim rs As ADODB.Recordset
Private Sub cmdOK_Click()
'检查正确的密码
If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else '查询用户
GetConnected
Set rs = New ADODB.Recordset
str = "select * from psw where userID ='" & txtUserName.Text & "'" '&select * from psw where userPSW='" & txtPassword.Text & "'"
rs.Open str, cn, adOpenDynamic, adLockOptimistic
If rs.EOF = True And rs.BOF = True Then
txtUserName.Text = ""
txtPassword.Text = ""
MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If txtPassword.Text = rs!userPSW Then
txtUserName.Text = rs!userID
rs.Close
Me.Hide
gUserName = Trim(txtUserName.Text) '保存用户名称
Dialog1.Show '成功登陆修改窗口
Unload Me
Else
MsgBox "无效的密码,请重试!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End If
End If
运行之后,不管是否输入用户名和密码,显示的都是“无效的密码,请重试!”大家帮下忙拉,急着呢。3Q
3 个解决方案
#1
If txtPassword.Text = rs!userPSW Then
-----------------------
会不会是包含有空格?改一下试试
If Trim(txtPassword.Text) = Trim(rs!userPSW) Then
-----------------------
会不会是包含有空格?改一下试试
If Trim(txtPassword.Text) = Trim(rs!userPSW) Then
#2
If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
------------------------------
这里的If 条件没写对,应该是
If Trim(txtUserName.Text) = "" Then
......
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
------------------------------
这里的If 条件没写对,应该是
If Trim(txtUserName.Text) = "" Then
......
#3
谢谢fansky2的帮忙,问题解决了。
应该是IF条件那的问题。
结帐......
应该是IF条件那的问题。
结帐......
#1
If txtPassword.Text = rs!userPSW Then
-----------------------
会不会是包含有空格?改一下试试
If Trim(txtPassword.Text) = Trim(rs!userPSW) Then
-----------------------
会不会是包含有空格?改一下试试
If Trim(txtPassword.Text) = Trim(rs!userPSW) Then
#2
If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
------------------------------
这里的If 条件没写对,应该是
If Trim(txtUserName.Text) = "" Then
......
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
------------------------------
这里的If 条件没写对,应该是
If Trim(txtUserName.Text) = "" Then
......
#3
谢谢fansky2的帮忙,问题解决了。
应该是IF条件那的问题。
结帐......
应该是IF条件那的问题。
结帐......