Private Sub cmdOK_Click()
'检查正确的密码
Dim CheckUser As New ADODB.Recordset
Dim UsrName As String
Dim UsrPwd As String
Dim DBstr As String
UsrName = Replace(Trim(Me.txtUserName.Text), "'", "''")
UsrPwd = Replace(Trim(Me.txtUserPwd.Text), "'", "''")
'打开数据集
CheckUser.Open "UserInfo", g_Conn, adOpenForwardOnly, adLockOptimistic
DBstr = "SELECT * FROM UserInfo WHERE name='" & UsrName & "'"
Set CheckUser = g_Conn.Execute(DBstr)
If CheckUser.EOF Then
MsgBox "此用户不存在!", 0 + 16, "财务记账"
CheckUser.Close
Exit Sub
Else
CheckUser.MoveFirst
If UsrPwd = CheckUser.Fields("password").Value Then
MsgBox "登陆成功"
CheckUser.Close
Exit Sub
Else
MsgBox "无效的密码,请重试!", , "登录"
txtUserPwd.Text = ""
txtUserPwd.SetFocus
Exit Sub
End If
End If
End Sub
打印UsrPwd和CheckUser.Fields("password").Value明明2个是相同的,但是为什么会执行else的部分?现在好晕,实在弄不清楚,大家帮帮忙,谢谢
'检查正确的密码
Dim CheckUser As New ADODB.Recordset
Dim UsrName As String
Dim UsrPwd As String
Dim DBstr As String
UsrName = Replace(Trim(Me.txtUserName.Text), "'", "''")
UsrPwd = Replace(Trim(Me.txtUserPwd.Text), "'", "''")
'打开数据集
CheckUser.Open "UserInfo", g_Conn, adOpenForwardOnly, adLockOptimistic
DBstr = "SELECT * FROM UserInfo WHERE name='" & UsrName & "'"
Set CheckUser = g_Conn.Execute(DBstr)
If CheckUser.EOF Then
MsgBox "此用户不存在!", 0 + 16, "财务记账"
CheckUser.Close
Exit Sub
Else
CheckUser.MoveFirst
If UsrPwd = CheckUser.Fields("password").Value Then
MsgBox "登陆成功"
CheckUser.Close
Exit Sub
Else
MsgBox "无效的密码,请重试!", , "登录"
txtUserPwd.Text = ""
txtUserPwd.SetFocus
Exit Sub
End If
End If
End Sub
打印UsrPwd和CheckUser.Fields("password").Value明明2个是相同的,但是为什么会执行else的部分?现在好晕,实在弄不清楚,大家帮帮忙,谢谢
If trim(UsrPwd) = trim(CheckUser.Fields("password").Value) Then
**********************************
*本人主要使用VB+MS SQL,C#略知一二
*
*如有相关问题需要帮助
*
*可发短消息告知链接
*
*助人为快乐之本!
**********************************