各位大哥,请给小弟指点一下吧

smp22 2003-12-12 01:03:02
为什么输入第一条数据可以判断正确,以后的输入都提示错误,也就是说不能在整个表里找正确的数据。
x:=dbgrid1.DataSource.DataSet.recordcount;
for i:=1 to x do
begin
mm:=trim(table1.fieldbyname('name').asstring);
nn:=trim(table1.fieldbyname('pass').asstring);
if (mm=trim(edit1.text)) and (nn=trim(edit2.text)) then
begin
showmessage('正确,欢迎进入!');
exit;
end else
begin
showmessage('错误,请重新输入!');
exit;
end;
end;
end;
...全文
10 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nxfbccu 2003-12-12
x:=dbgrid1.DataSource.DataSet.recordcount;
table1.first;
for i:=1 to x do
begin
mm:=trim(table1.fieldbyname('name').asstring);
nn:=trim(table1.fieldbyname('pass').asstring);
if (mm=trim(edit1.text)) and (nn=trim(edit2.text)) then
begin
showmessage('正确,欢迎进入!');
exit;
end;
table1.next;
end;
if i = x + 1 then
begin
showmessage('错误,请重新输入!');
end;
  • 打赏
  • 举报
回复
smp22 2003-12-12
OK,可以了,谢谢各位!
  • 打赏
  • 举报
回复
smp22 2003-12-12
如改为楼主所说的这样,以后虽每次都能通过,都要提示前几次错误
  • 打赏
  • 举报
回复
mzzhf 2003-12-12
x:=dbgrid1.DataSource.DataSet.recordcount;
table1.first;//添加
for i:=1 to x do
begin
mm:=trim(table1.fieldbyname('name').asstring);
nn:=trim(table1.fieldbyname('pass').asstring);
if (mm=trim(edit1.text)) and (nn=trim(edit2.text)) then
begin
showmessage('正确,欢迎进入!');
exit;
{ end else
begin
showmessage('错误,请重新输入!');
exit; 如果这里的用EXIT,只有第一个记录可以通过}
end;
table1.next;//添加
end;
showmessage('错误,请重新输入!');//应该放在这里
exit;//这一句要不要都可以,看情况.
end;

  • 打赏
  • 举报
回复
BS 2003-12-12
x:=dbgrid1.DataSource.DataSet.recordcount;
table1.first;//添加
for i:=1 to x do
begin
mm:=trim(table1.fieldbyname('name').asstring);
nn:=trim(table1.fieldbyname('pass').asstring);
if (mm=trim(edit1.text)) and (nn=trim(edit2.text)) then
begin
showmessage('正确,欢迎进入!');
exit;
end else
begin
showmessage('错误,请重新输入!');
exit;
end;
table1.next;//添加
end;
end;
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库相关
加入

2468

社区成员

Delphi 数据库相关
社区管理员
  • 数据库相关社区
申请成为版主
帖子事件
创建了帖子
2003-12-12 01:03
社区公告
暂无公告