如题

解决方案 »

  1.   

    这有两种极有可能的情况:一、OnPostError事件是在 POST 方法出错时发生的,代码不执行是因为在 POST 过程中没有出错;二、在复杂一点的情况下,如果使用了 LockType 为 ltBatchOptimistic 的数据集,那么 POST 方法不会响应,这样的话,在 OnPostError 事件中的代码当然就不会执行了。
      

  2.   

    如果没有错误的话,怎么能让这个错误代码执行呢? 还有,这个错误是在post方式是发生的才能执行
      

  3.   

    实际上我的想法是,
    我想让用户可以直接在dbgrid中修改记录。
    假设某个字段是TDatetime类型的,如果用户修改的输入不合法,把
    焦点移到其他记录时就会出错。实际上程序的确报错了,但错误提示是
    数据库的错误提示,而不是我在OnPostError事件里出错提示。
      

  4.   

    据你所说的目的,其实是想进行 “字段” 级的数据检验。按 ADO 控件的事件发生顺序来看,“字段”级数据检验比 OnPostError 事件发生的更早,当用户的动作触发 OnPost 方法之后,ADO 控件会首先进行“字段”级的数据检验,如果这个检验不通过的话,Post 方法是不会执行的,而是提示象“某字段的数据类型 is not valid”这样的错误。
    按道理,进行“字段”级数据检验的工作最好不要在 OnPostError 事件中处理,在相应字段的事件中加入检验代码是最合适的,因为 OnPostError 事件是属于 “记录”级的事件,而不是属于“字段”级的事件,不同对象的事件的工作模式是不同的,达到的目的也会不同。
      

  5.   

    高人终于出现!!
    多谢gjguoji(奋进人) 的指点,
    我试一下先!!