建议你在if fieldbyname('mima').asstring=edit2.text then句设置一个段点
跟踪一下,看form2.show是否执行了!
从代码看好象看不出什么问题!

解决方案 »

  1.   

    确实没有执行到那一句,因为他执行else的语句,老是出现你输入的用户和密码名不对。
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      isgo:boolean;
    begin
      isgo:=false;
      with  table1 do
      begin
      table1.open;
      isgo:=Locate('yonghu',Trim(Edit1.text),[]);
      if isgo=true then
      begin
        if fieldbyname('mima').asstring=Trim(edit2.text) and fieldbyname('yonghu').asstring=Trim(edit1.text) then
            form2.show
        else
          begin
            messagedlg('密码不对或用户不存在',mtwarning,[mbok],0);
            exit;
          end;
        end
      else
          begin
            messagedlg('密码不对或用户不存在',mtwarning,[mbok],0);
            exit;
          end;
      end;
      end;end.
      

  3.   

    silodiq(天地本方)
    你好,我不是要个登陆的程序,只是想弄清楚我为什么会出错,不过还是很感谢你的帮助。
      

  4.   


    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with  table1 do
      begin
      table1.open;
      setkey;
      fieldbyname('yonghu').asstring:=edit1.text;
      if gotokey then //你断点测试一下  
      begin
        //这里用一个label.caption:= fieldbyname('mima').asstring 看看
        if fieldbyname('mima').asstring=edit2.text then
            form2.show
        else
          begin
            messagedlg('密码不对或用户不存在',mtwarning,[mbok],0);
            exit;
          end;
        end
      else
          begin
            messagedlg('密码不对或用户不存在',mtwarning,[mbok],0);
            exit;
          end;
      end;
      end;end.
      

  5.   

    终于弄明白了,原来用setkey,是要排序后才能用的,谢谢大家