procedure TF_gh.BitBtn1Click(Sender: TObject);
begin
  if DBEdit1.Text <>'' then
  ADOTable1.Last
  ADOTable1.Insert
  DBEdit1.SetFocus
  else
  MessageDlg('请把每一项都填好!', mtInformation,
      [mbOk], 0);
end;
哪儿错了?如何写?
如果有多个DBEdit检查怎么写?

解决方案 »

  1.   

    procedure TF_gh.BitBtn1Click(Sender: TObject);
    begin
      if (( DBEdit1.Text <>'') or  (DBEdit2.Text <>'')or(DBEdit3.Text <>''))then
      begin
      ADOTable1.Last;
      ADOTable1.Insert;
      DBEdit1.SetFocus;
      end;
      else
      MessageDlg('请把每一项都填好!', mtInformation,
          [mbOk], 0);end;
      

  2.   

    对不起,写错了,or 应该为and
      

  3.   

    到else 编译错误。
    顺便问一声,如何按ESC键关闭窗体。如何编写?
      

  4.   

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if key=27 then close;
    end;
      

  5.   

    var i:integer;
    begin
    for i :=0 to ControlCount-1 do 
      begin
        if (Controls[i] is TDBEdit) then
            if (Trim(Controls[i] as TDBEdit).Text) = '') then
            begin
              MessageDlg('请把每一项都填好!', mtInformation,
                         [mbOk], 0);
              Controls[i].SetFocus;
              exit;
            end
      end
      adotable1.post;
      adotable1.Appen;
      dbedit1.setfocus;
    end
      

  6.   

    happyzsl
    无法通过编译
    (Trim(Controls[i] as TDBEdit).Text) = ''?
    Controls[i].SetFocus;?
    adotable1.post;
      adotable1.Appen;
      dbedit1.setfocus;
      

  7.   

    if key=#27 then close;
    无法关闭,没有效果。
      

  8.   

    设置Form.KeyPreview:=True因为焦点落在其它控件上,而Form.KeyPreview:=False,窗体就无法相应!
      

  9.   

    放在什么地方?
    我前面把焦点放在DBEDIT上了。
    还有没有其他的方法?
      

  10.   

    解决了ESC的问题。
    var i:integer;
    begin
    for i :=0 to ControlCount-1 do 
      begin
        if (Controls[i] is TDBEdit) then
           // if (Trim(Controls[i] as TDBEdit).Text) = '') then
            begin
              MessageDlg('请把每一项都填好!', mtInformation,
                         [mbOk], 0);
             // Controls[i].SetFocus;
              exit;
            end
      end
      //adotable1.post;
      //adotable1.Appen;
      //dbedit1.setfocus;
    end
    //处不能编译。
      

  11.   

    OnCreate,OnShow里都可以,只要在你按键前,但最好的方法当然是在属性面板里设置!呵呵!
      

  12.   

    procedure TF_gh.BitBtn1Click(Sender: TObject);
    begin
      if (( DBEdit1.Text <>'') or  (DBEdit2.Text <>'')or(DBEdit3.Text <>''))then
      begin
      ADOTable1.Last;
      ADOTable1.Insert;
      DBEdit1.SetFocus;
      end   //此处的“;”去掉
      else
      MessageDlg('请把每一项都填好!', mtInformation,
          [mbOk], 0);end;