为什么输入第一条数据可以判断正确,以后的输入都提示错误,也就是说不能在整个表里找正确的数据。
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;
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;