这个登陆验证代码有什么问题,高手帮忙看下!!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:10:30
Private Sub cmdCancle_Click()
Unload Me
End Sub

Private Sub cmdOK_Click()

Dim sql As String
Dim rs_login As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\database.mdb"

If Trim(Text1.Text) = "" Or Trim(Text2.Text) = "" Then
MsgBox "用户名或密码不能为空,请重新输入!"
Text2.Text = ""

Text1.SetFocus
Else
sql = "select * from 用户表 where user_ID='" & Trim(Text1.Text) & "'"
rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
If Trim(rs_login.Fields(0)) <> Trim(Text1.Text) Or Trim(rs_login.Fields(1)) <> Trim(Text2.Text) Then

MsgBox "没有这个用户,请重输入!", vbOKOnly + vbExclamation, ""
Text1.Text = ""
Text2.Text = ""

'一般是这样的
sql = "select * from 用户表 where user_ID='" & Trim(Text1.Text) & "' and userPWD='" & Trim(Text2.Text) & "'" '假定你的密码字段为userPWD
rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
if rs_login.EOF then
msgobx "用户名密码错误"
'.......你的其它代码
else
frmMain.Show
Unload Me
endif

rs_login.EOF 是一个标志,表示到了结尾,就是说后面再没有数据行了.一个记录集一打开就没数据行就说明没有符合条件的数据

把这两条语句的顺序换一下看能否解决
Unload Me
frmMain.Show
换成
frmMain.Show
Unload Me

补充:你用的是VB6.0吧?现在VB2008都出来好久了,你怎么还用这么旧的呢?