当前位置:编程学习 > Delphi >>

delphi~~~~ 用户密码错误编程

procedure check(db:string;account:string);
begin
  with form1 do
   begin
   try
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select password from '+db+' where account='+''''+account+'''');
      adoquery1.Open;
   finally
     showmessage('无此用户!');
     aerror:=false;
   end;
        if edit2.Text=adoquery1.FieldByName('password').AsString  then
        pass:=true
        else
        if (edit2.Text<>adoquery1.FieldByName('password').AsString) and aerror then
        application.messagebox('密码错误,如忘记密码请联系管理员!','密码错误!',mb_ok);
    end;
end;

 

请问为什么有此account的时候,还显示“无此用户?”

答案:

adoquery1.SQL.Add('select password from '+db+' where account='+''''+account+'''');
我之前告诉你的貌似没有+的哈。'select password from '+db+' where  Account='''+account+'''';

 

这种比较容易被SQL嵌入。。。

我教你一种比较简单的吧。

With adoquery1 do

begin

Close;

sql.text:='Select * from '+db;

open;

if  not locate('account;Password',Vararrayof([account,Edit1.text]),[]) then

Showmessage('用户名或密码错误')

else

Showmessage('登入成功');

不知道你的sql语句有没有写错呢
adoquery1.SQL.Add('select password from '+db+' where account='+''''+account+'''');
是不是这样子的呢
adoquery1.SQL.Add('select password from '+db+' where account='''+account+'''');

上一个:Delphi之内存流资源流 (求代码注释)
下一个:求助delphi 的function和 procedure有什么区别!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,