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

解决方案 »

  1.   

    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;
      

  2.   

    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;
      

  3.   

    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;