为什么输入第一条数据可以判断正确,以后的输入都提示错误,也就是说不能在整个表里找正确的数据。
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;
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;
解决方案 »
- delphi grid 数据显示问题
- 怎样获取 正在连接中的 IdTCPClient的 TSocket?
- 高难度问题,如何在delphi中执行 命令。?????
- 在DELPHI里往数据库里存储JPG图片为流的形式,怎么读不出来呀,帮帮
- 如何把存储过程的返回参数(FLOAT型)附值给DELPHI中的DBGRID中去!!!(DELPHI好象不认FLOAT型)
- 替换的问题
- 一个还不错的编程站点,内容比较丰富!~~~~~~~~~~~~~~
- 关于串口奇偶校验问题(急!)
- 有人能告诉我tlistview的checked box被点时,具体引发的是哪一个事件吗?
- 怎么制做菜单?
- 关于DBGRIDEH内单元更新的问题
- 交叉表SQL语句问题?
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;
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;
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;