在BeforePost事件中处理:
用.cancel如query1.cancel

解决方案 »

  1.   

    我不是直接插入某记录的,而是先插入空记录,再输入值,然后换行提交
    所以CANCEL不行啊
      

  2.   

    在你的表的OnPostError事件中写代码:
    procedure TForm1.YourDataSetPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    begin
      DataSet.Delete;
      Action := daAbort;
    end;
      

  3.   

    这种情况不少人都遇到过,我自己的插入都不是在dbgrid中完成的。你可以试一下在DBGrid1ColExit中加入代码,设一个boolean判断是否插入,是的话,当光标离开关键字一列时,就到表中比较一下,有的话,清空,光标再回来。
      

  4.   

    这种情况不少人都遇到过,我自己的插入都不是在dbgrid中完成的。你可以试一下在DBGrid1ColExit中加入代码,设一个boolean判断是否插入,是的话,当光标离开关键字一列时,就到表中比较一下,有的话,清空,光标再回来。
      

  5.   

    这种情况不少人都遇到过,我自己的插入都不是在dbgrid中完成的。你可以试一下在DBGrid1ColExit中加入代码,设一个boolean判断是否插入,是的话,当光标离开关键字一列时,就到表中比较一下,有的话,清空,光标再回来。