CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

密码验证登陆问题!

楼主echome(回音壁)2002-04-17 22:21:52 在 Delphi / VCL组件开发及应用 提问

源程序是这样的:  
  var  
  user:string;  
  word:string;  
      begin  
  adoquery1.Close;  
  adoquery1.SQL.Clear;  
  adoquery1.SQL.Add('select   username,password     from     dbo.limit   ');  
  adoquery1.SQL.Add('where   username=userid');  
  if     Key=Vk_RETURN         then  
  begin  
  adoquery1.FieldByName('userid').AsString:=user;  
  adoquery1.FieldByName('password').AsString:=word;  
  adoquery1.Prepared;  
  adoquery1.open;  
  if   (word<>edit2.Text)or(word='')     then  
  messagebox(handle,'密码错误!','错误',16);  
  exit;  
  end;  
  end;  
  编译后执行异常中断,提示"Adoquery1:field     "userid"   not     found",我到底该怎么办啊? 问题点数:20、回复次数:11Top

1 楼linzi(林子)回复于 2002-04-17 22:29:11 得分 2

这一句中adoquery1.SQL.Add('select   username,password     from     dbo.limit   ');是UserName,这里adoquery1.FieldByName('userid').AsString:=user;却是userid,肯定有错了  
   
  Top

2 楼nne998(☆☆☆☆☆☆☆伴月)回复于 2002-04-17 22:32:19 得分 2

adoquery1.FieldByName('username').AsString:=user;  
  adoquery1.FieldByName('password').AsString:=word;  
  Top

3 楼echome(回音壁)回复于 2002-04-17 22:41:25 得分 0

to     linzi(林子):    
  改了还是一样啊!再说我这里有一句啊:  
  adoquery1.SQL.Add('where   username=userid');  
  Top

4 楼linzi(林子)回复于 2002-04-17 22:47:54 得分 2

你应该这样adoquery1.SQL.Add('select   userid,username,password     from     dbo.limit   ');原来取出的数据集中没有Userid,当然会出错了,我觉得你应该是用username吧,那就应该是adoquery1.FieldByName('username').AsString:=user;  
  Top

5 楼echome(回音壁)回复于 2002-04-17 23:27:31 得分 0

程序改了!但是执行后出现这样的错误:"adoquery1:detaset       not     in     edit     or     insert     mode"  
  这是什么意思?  
  var  
  user:string;  
  word:string;  
      begin  
  adoquery1.Close;  
  adoquery1.SQL.Clear;  
  adoquery1.SQL.Add('select   username,password     from     dbo.limit   ');  
  if     Key=Vk_RETURN         then  
  begin  
  adoquery1.FieldByName('username').AsString:=user;  
  adoquery1.FieldByName('password').AsString:=word;  
  adoquery1.Prepared;  
  adoquery1.open;  
  if   (word<>edit2.Text)or(word='')     then  
  messagebox(handle,'密码错误!','错误',16);  
  exit;  
  end;  
  end;  
   
  Top

6 楼linzi(林子)回复于 2002-04-17 23:34:34 得分 2

应该是  
  if     Key=Vk_RETURN         then  
  begin  
      adoquery1.open;  
      user:=adoquery1.FieldByName('username').AsString;  
      word:=adoquery1.FieldByName('password').AsString;  
      if   (word<>edit2.Text)or(word='')     then  
      begin  
          messagebox(handle,'密码错误!','错误',16);  
          exit;  
      end;  
  end;  
  Top

7 楼macro_love(光光)回复于 2002-04-17 23:36:47 得分 8

全都有错,你的登录怎么会用到adoquery1.FieldByName('username').AsString:=user;  
  adoquery1.FieldByName('password').AsString:=word;  
  这是添加中用到的呀?!!Top

8 楼echome(回音壁)回复于 2002-04-17 23:40:59 得分 0

那你说该怎么用!Top

9 楼liyq()回复于 2002-04-17 23:44:27 得分 2

源程序似呼应是这样的:  
  var  
  user:string;  
  word:string;  
      begin  
  user:=edit1.Text;  
  adoquery1.Close;  
  adoquery1.SQL.Clear;  
  adoquery1.SQL.Add('select   username,password     from     dbo.limit   ');  
  adoquery1.SQL.Add('where   username=:userid');  
  if     Key=Vk_RETURN         then  
  begin  
  adoquery1.ParamValues['userid'].AsString:=user;  
  adoquery1.Prepared;  
  adoquery1.open;  
  word:=adoquery1.FieldByName('password').AsString;  
  if   (word<>edit2.Text)     then  
  messagebox(handle,'密码错误!','错误',16);  
  exit;  
  end;  
  end;  
     
  Top

10 楼echome(回音壁)回复于 2002-04-18 19:43:59 得分 0

to   liyq()   :  
  adoquery有paramvalues属性吗?Top

11 楼kyee(浪子阿鹏)回复于 2002-04-18 20:56:30 得分 2

程序做得太差,实在不值得修改,做程序切忌思维不清淅,想到哪儿做到哪儿。Top

相关问题

  • 登陆密码验证
  • 如何验证登陆密码,密码和用户都在一张表中
  • 密码验证
  • 密码验证
  • 密码验证
  • 如何用ASP实现在网页中验证NT登陆密码?
  • VB源代码登陆的时候能否设置一个密码验证的?
  • 用户登陆验证问题:中文的用户名验证总是密码错误
  • 请问,如果我用sina的SMTP服务器,用代码怎么实现验证、登陆名、登陆密码
  • 请教:用ASP做一个简单的登陆界面 需要验证用户名 和密码

关键词

  • 密码
  • word
  • sql
  • adoquery1
  • asstring
  • fieldbyname
  • 错误
  • varuser
  • thenmessagebox
  • userid

得分解答快速导航

  • 帖主:echome
  • linzi
  • nne998
  • linzi
  • linzi
  • macro_love
  • liyq
  • kyee

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo