edit1内容输入完成后,当光标移到到别的控件,这时如何在sql数据库中进行查找输入的内容是否存在。是不是用OnEnter事件?

解决方案 »

  1.   

    procedure TPK_cipher.BitBtn1Click(Sender: TObject);
    begin
       try
        with PK_Data do
       begin
         PK_ADOQuery1.Close;
         PK_ADOQuery1.SQL.Clear;
         PK_ADOQuery1.SQL.Add('select * from loading where User="'+Edit1.Text+'"');
         PK_ADOConnection1.Connected:=True;
         PK_ADOQuery1.Open;
       end
        except
       begin
         MessageDlg('Connect to DataBase Error!',mtError,[mbOK],0);
         close;
       end
     end;
       if PK_Data.PK_ADOQuery1.RecordCount=1 then
         if PK_Data.PK_ADOQuery1['Cipher']=Edit2.Text then
           begin
             Flag:=True;
             PK_main.Show;
             PK_cipher.Hide;
           end     else
           begin
             flag:=False;
             MessageDlg('密码错误!',mtError,[mbOK],0);
             close;
             PK_main.Close;
           end
       else
         begin
           Flag:=False;
           MessageDlg('用户名错误!',mtError,[mbOK],0);
           close;
           PK_main.Close;
       end;
    end;
    这是我做的关与密码判断的代码,就是用来判断edit与数据库的。
    看看对你有没有用!
      

  2.   

    procedure TPK_cipher.OnExit(Sender: TObject);
    begin
       with ADOQuery1 do
       begin
          Close;
          SQL.Clear;
          SQL.Add('select * from loading where User="'+ (Sender as Edit).Text+'"');
          Open;
          If RecordCount <> 0 Then
            MessageDlg(‘输入正确!',mtError,[mbOK],0)  //当然,输入正确的话不提示最好。
          Else
            MessageDlg('输入错误!',mtError,[mbOK],0);
          close;
       end
     end;
      

  3.   

    我是在提交数据库更新前几个EDIT一起判断的
    function TFrmCustomer.CheckData: boolean;
    begin
      if Trim(Edit1.Text)='' then
      begin
        MessageBox(Application.Handle,'名称不能为空!','错误',Mb_Ok + Mb_IconError);
        CheckData:=false;
        Edit1.SetFocus;
        exit;
      end;
        if Trim(Edit2.Text)='' then
      begin
        MessageBox(Application.Handle,'代码不能为空!','错误',Mb_Ok + Mb_IconError);
        CheckData:=false;
        Edit2.SetFocus;
        exit;
      end;
    CheckData:=true;
    end;
    在保存的按钮下写
    if CheckData=true then
      ADOQuery.UpdateBatch(arAll);