1.多写 ON ERROR GOTO ERR_MARK:程序出错处理
2。用 RS.FILTER更好3。Else
If Not mrc.BOF = True Then
mrc.MoveFirst
End If
ls: If mrc("l_id") <> txtusername.Text Then
当记录为空, 使用mrc("l_id") 报错
2。用 RS.FILTER更好3。Else
If Not mrc.BOF = True Then
mrc.MoveFirst
End If
ls: If mrc("l_id") <> txtusername.Text Then
当记录为空, 使用mrc("l_id") 报错
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim mrc As ADODB.Recordset
Dim cmd As ADODB.Command
Dim rst As ADODB.RecordsetSet cn = New ADODB.Connection
cn.Open "Provider=microsoft.jet.oledb.4.0;data source=d:\hf\newhf.MDB"
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cn
Set mrc = New ADODB.Recordset
cmd.CommandText = "Select * From login;"
mrc.Open cmd, , adOpenStatic, adLockBatchOptimisticIf Trim(txtusername.Text = "") Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtusername.Text = ""
txtpassword.Text = ""
txtusername.SetFocus
Else
If Not mrc.BOF = True Then
mrc.MoveFirst
End If
Do While Not mrc.EOF
If mrc("l_id") <> txtusername.Text Then
mrc.MoveNext
If mrc.EOF Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtusername.Text = ""
txtpassword.Text = ""
txtusername.SetFocus
Exit Sub
End If
Else
If mrc("l_password") = txtpassword.Text Then
MDIMain.Show
Unload Me
Else
MsgBox "密码错误,请重试!", vbOKOnly + vbExclamation, "警告"
txtpassword.Text = ""
txtpassword.SetFocus
End If
Exit Sub
End If
Loop
End If
Set mrc = Nothing
Set cmd = Nothing
Set cn = Nothing
End Sub