首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

求教 BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要当前的记录

2012-02-04 
求教 BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录这是个老问题了,但

求教 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

热点排行