我在一个form中有几个DBEdit。DBEdit1控制数据库中的主键,DBEdit2控制外键,其他几个DBEdit什么都不是。有一个button1,用来添加数据,代码是这么写的
DataModuleMain.ADOTable_Factory.Insert;可是我若先输入主键或是其他非外键的数据后,只要鼠标一点击其他的DBEdit准备继续输入数据时,程序立即自动报错,(关于外键的错误)但是若先输入外键再输入主键或其他数据,程序可以正常运行。请问这个问题如何解决?大家不会没有碰到过这个问题吧,请多多赐教。谢谢。现在好困惑阿,几天了,还想不出解决的办法。

解决方案 »

  1.   

    可是,我还没有post,为什么就出错了呢?
      

  2.   

    数据敏感控件在焦点离开的时候会发生POST
      

  3.   

    为什么非要用DBEDIT呀?可以用EDIT呀。输入后再进行主键和外键的判断不就行了。你先输入主键后,当焦点离开后就已经开始POST了。这时的外键值为空,所以引发错误。
      

  4.   

    我还有其他的数据处理,所以要用DBEdit呀,若用Edit我也知道解决的办法,现在的问题就是要用DBEdit来解决,所以请教解决之道,谢谢。
      

  5.   

    你先在before post 加個showmessage,看看
    你在執行以下操作時.
    可是我若先输入主键或是其他非外键的数据后,只要鼠标一点击其他的DBEdit准备继续输入数据时,程序立即自动报错,(关于外键的错误)
    有沒有觸發post 事件
    (我估計應該是有)
      

  6.   

    before post 我也想有呀。可是……:《