永发信息网

delphi登陆判断问题

答案:3  悬赏:0  手机版
解决时间 2021-04-26 18:27
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-04-26 11:01

begin
with DataModule2.ADOQuery1 do
begin
close;
sql.Add('select * from users where name = :n and password = :p');
parameters.ParamByName('n').Value := edit1.Text;
parameters.ParamByName('p').Value := edit2.Text;
open;
if recordcount > 0 then
showmessage('登陆成功')
else
begin
i := i + 1;
if i > 3 then
begin
showmessage('错误超过三次');
form1.Close;
end
else
begin
showmessage('输入错误');
edit1.Focused;
end;
end;
end;
end;

sql.Add('select * from users where name = :n and password = :p');
parameters.ParamByName('n').Value := edit1.Text;
parameters.ParamByName('p').Value := edit2.Text;

这几步都是赋值,哪里看出是判断啊,

为什么都没判断 只要 if recordcount > 0 then

就可以说登陆成功

最佳答案
  • 五星知识达人网友:行雁书
  • 2021-04-26 11:09


if recordcount > 0 then的意思就是select count (*) as recordcount from users where name = :n and password = :p//意思就是楼上的意思.查找用户名和密码都正确的记录有几个,肯定是0 1啦,因为表的用户名是主键


然后if recordcount > 0 then 的判断意思就是如果有用户名跟密码都正确的记录



这样解释应该能理解了吧



全部回答
  • 1楼网友:行路难
  • 2021-04-26 13:55

sql.Add('select * from users where name = :n and password = :p'); parameters.ParamByName('n').Value := edit1.Text; parameters.ParamByName('p').Value := edit2.Text;

是在数据库中找 用户名等于 edit1.Text 并且 密码等于edit2.Text的记录

如果密码用户名正确 这样的记录是能找到的 所以 recordcount >0所以登录成功

假如 密码用户名错误 数据库中找不到这样的记录 所以登录失败

  • 2楼网友:几近狂妄
  • 2021-04-26 12:28

open;--这里是查询的

只要查到有记录就可以判断登陆成功~

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯