求教 BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录
这是个老问题了,但始终还是没解决掉。
只好再次求教各位大侠。
我做了个登录界面,用户名是个datacombo 控件,密码是用个textbox控件
现在问题是用datacombo下拉的用户名和相关密码可以进入系统,但自己随便输入个用户名,它应该msgbox提示“查无此操作员!,请重新输入操作员! ",但是实际上它报错“BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录”
请各位大侠多多指教
代码如下:
Private Sub Command1_Click()
Adodc1.RecordSource = " 用户表 where 用户名= ' " & DataCombo1.BoundText & " ' "
Adodc1.Refresh
aaa = Adodc1.Recordset.Fields(2).Value
If DataCombo1.BoundText <> " " And Text1.Text <> " " And Text1.Text = Adodc1.Recordset.Fields( "密码 ") Then
main.Show
Unload Me
Else
If tim = 3 Then
myval = MsgBox( "密码输入错误已达3次,请想系统管理员查询! ", 0, " ")
If myval = vbOK Then End
End If
If DataCombo1.BoundText = " " Then
MsgBox ( "请输入操作员! ")
DataCombo1.SetFocus
Else
If DataCombo1.BoundText <> Adodc1.Recordset.Fields( "用户名 ") Then
MsgBox ( "查无此操作员!,请重新输入操作员! ")
DataCombo1.SetFocus
Else
If Text1.Text = " " Then
MsgBox ( "请输入操作员密码! ")
Text1.SetFocus
Else
If Text1.Text <> Adodc1.Recordset.Fields( "密码 ") Then
MsgBox ( "密码错误,请重新输入密码! ")
tim = tim + 1
Text1.SetFocus
End If
End If
End If
End If
End If
End Sub
[解决办法]
Adodc1.RecordSource = " 用户表 where 用户名= ' " & DataCombo1.BoundText & " ' "
Adodc1.Refresh
你到数据库里面检查一下是不是有结果输出
然后做一个判断
if adodc1.recordset.recordcount> 0 ...
[解决办法]
支持1楼,
if adodc1.recordset.recordcount> 0 ... '//如果有此条记录则进入主系统;否则弹出messagebox.
[解决办法]
Adodc1.RecordSource = " 用户表 where 用户名= ' " & DataCombo1.BoundText & " ' "
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
MsgBox ( "查无此操作员!,请重新输入操作员! ")
Else
......
[解决办法]
DataCombo1的ListField放用户名
BoundColumn和BoundText放用户ID