我编了一个vb的登陆界面,代码如下,不管我输入什么,总显示“用户名不存在”

2024-12-14 18:52:04
推荐回答(2个)
回答1:

Private Sub Command1_Click()
If Trim(Text1.Text) = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
ElseIf Trim(Text2.Text) = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告"
Text2.SetFocus
Else
Adodc1.RecordSource = "select * from 地址 where 姓名='" & Trim(Text1.Text) & "' and 密码='" & Trim(Text2.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
MsgBox "用户名或密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Else
Form2.Show
Unload Me
End If
End If
End Sub

补充一句:做登录系统时,不要明确提示用户是用户名错误还是密码错误,要笼统地提示“用户名或密码错误”,这样别人想用猜测的方法破解你的登录系统时就无法知道究竟是哪个错误了,增加了猜测的难度。而正常的用户肯定知道自己是什么输错了,所以无须你明确提示他的。这样的登录系统才是相对安全的。

回答2:

代码写的太乱了!~

Private Sub Command1_Click()

‘判断用户名是否为空
If Text1.Text = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
exit sub
end if

'判断密码是否为空
If Text2.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告"
Text2.SetFocus
exit sub
end if

'判断用户名是否存在
If Text1.Text <> Adodc1.Recordset.Fields("姓名") Then
MsgBox "用户名不存在!", vbOKOnly + vbExclamation, "警告"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
exit sub
end if

'判断密码是否存在
If Text2.Text <> Trim(Adodc1.Recordset.Fields("密码")) Then
MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text2.Text = ""
Text2.SetFocus
exit sub
end if

'正常登录
Unload Me
Load Form2
Form2.Show

End Sub