关于ADOQuery使用中一个密码验证得问题!~

oodood 2004-03-17 11:24:35
初学delphi5,想做一个ado查询用来验证帐户密码,sql里面就是一个简单的表kaoqin,两个属性列,一个是id,一个是密码psw,窗体里面有两个输入框,分别输入id跟密码,现在adoquery1属性sql里面是select psw from kaoqin where id=edit1.text, 使用
if ADOQuery1.fieldbyname('PSW').AsString <> Edit2.Text then
ShowMessage('Wrong password,please re-input!');
来验证密码是否出错,但是问题是每次都是提示“bof或eof有一个是“真”或当前记录被删除,所需的操作要求一个当前记录”,请问这是什么原因,应该如何解决。


另:有一个师姐说select psw from kaoqin where id=:edit1.text,请问那个冒号是什么作用,我刚接触delphi,差太多,希望高手不吝赐教!不胜感激
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycdelphicsdn 2004-03-17
  • 打赏
  • 举报
回复
冒号是代表参数的意思,你可以这样写
adoquery1.sql.clear;
Adoquery1.sql.add('select psw from kaoqin where id=:ss');
Adoquery1.params[0].astring:=edit1.text;
adoquery1.open;
ycdelphicsdn 2004-03-17
  • 打赏
  • 举报
回复
因为DELPHI5的ADO有问题。你把DELPHI5的ADO升级就可以了,或者你用DELPHI6就好使了
whaway 2004-03-17
  • 打赏
  • 举报
回复
没仔细看你的描述,不过下面这个问题:
“bof或eof有一个是“真”或当前记录被删除,所需的操作要求一个当前记录”
可能是D5已经公布的BUG,建议用D6或者D7,这个BUG已经解决了。
insert2003 2004-03-17
  • 打赏
  • 举报
回复
另:有一个师姐说select psw from kaoqin where id=:edit1.text,请问那个冒号是什么作用,
===========================================================================
不对吧,应该这样写:
select psw from kaoqin where id := edit1.text;
:= 是赋值的意思
whaway 2004-03-17
  • 打赏
  • 举报
回复
Adoquery的控件和TQUERY控件大体是一样的,实际还是有细微的差别。
D5开发人员指南上有介绍。
belllab 2004-03-17
  • 打赏
  • 举报
回复
Adoquery1.Parameters.ParamByName('ss').Value:=edit1.text;
oodood 2004-03-17
  • 打赏
  • 举报
回复
谢谢二位的回复,却是是补丁的原因,我已经打了补丁 ,不再报那个错误了。
因为我们的项目要用第三方的控件,必须是delphi5的环境,另外主要是老师要求。

现在的问题是,Adoquery1.params[0].astring:=edit1.text,在delphi5下找不到parameter[0]有asstring这个过程,自己写上根本救编译不通过,这是什么问题呢???

非常感谢

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧