比如:在DBGrid里输入了一条信息,其中有一项是必填项,但用户没有输入,我想让弹出来一条信息如何实现?

解决方案 »

  1.   

    在BeforePost中写
    procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
    begin
      IF ADOQuery1.FieldByName('字段名').AsString = '' then 
         showmessage('该字段必须输入信息!');
    end;
      

  2.   

    最簡單的就是在adoquery的beforepost提交前作判斷處理
      

  3.   


    我也是在这个事件里写的但是showmessage后,这条信息还是能保存下来我是想在showmessage后,让用户把该填的都填上才让保存
      

  4.   

    procedure TRes_Cq_HrXj_F.ADOQuery1BeforePost(DataSet: TDataSet);
    begin
      if ADOQuery1.FieldByName('CB').IsNull then
        ShowMessage('is not null');
    end;
      

  5.   

    Dataset.Cancel;
    或者用raise抛出异常
      

  6.   

      IF ADOQuery1.FieldByName('字段名').AsString = '' then  
      begin
        showmessage('该字段必须输入信息!');
        Abort;
      end;
      

  7.   

    Dataset.Cancel;//在 beforepost 里没用;
    Abort;//这个才有用!!
      

  8.   

     我用了abort
    有报错
    Statement expected,but expression of type 'integer' found