使用DBGird构件,当插入记录时如果不输入数据就提交(或焦点离开编辑行),就会发生错误,如何解决?

解决方案 »

  1.   

    可能是你在数据库中定义了某些字段为必填字段,或关键字有了两个空值造成的。
    你可以在beforePost事件中判断是否有数据。
      

  2.   

    在beforePost事件中判断是否有数据,我做了,但不知道怎么取消提交呢?
      

  3.   

    调用数据集的cancel
    如dbgrid 的datasource为adoquery
    你就调用adoquery.cancel;
      

  4.   

    to  lemon_wei(soft_fans) :
      我调用了,但是不行!
      to  IORILI(眼镜@_@) :
      我有关键字段的,当关键字段为空时提交就出错了.
      

  5.   

    if 关键字段为空 then 
      begin 
        数据集.cancel
        showmessage('关键字段不能位空');
      end;
      

  6.   


       我试了在BeforePost事件中调用Cancel方法行不通!   以上方法全部不行!