我用两个数据库关联后两个库都有一个相同的字段用来关联,为什么主表能保存增加,而从表加第二个记录时间就出key violation错,用了以下几个控件,table1,table2,sourcedata1,sourcedata2,dbgrid1,dbgrid2,主表为table1,在dbgrid2中增加第二个记录时就出上面那个错而在dbgrid1中怎么加也不会出错,
把table2.cachedupdate设为true又不出错了但是无法保存数据程序关闭后数据保存不了请高手指导。

解决方案 »

  1.   

    这个问题我也遇到过,不过用ADOtable1就没事了
      

  2.   

    有没有设定从表的MasterFields编辑从表前请先post主表从表中有没有设定主建或唯一索引之类的约束,看是否违反了约束
      

  3.   

    在主从表的设计中要求:在从表的关联字段的值必须受到主表中的字段的值的影响,如果你的值与主表中的不一样的话,那样肯定是错的!
    至于说为什么将cachedupdate设置为true的时候为什么不错呢,那么就分好几种情况了。
    在ado联的时候,因为从表中的信息,存放在从表的ado的缓村中则肯定不出错了!
    主表的值是不是从表的影响的,它只受它本身的一些因素的影响,最好的办法是用触发器来处理,而查看的时候,你可以主从表!
      

  4.   

    谢谢大家是不是在焦点进入dbgrid2时要先post一下
      

  5.   

    ADOtable我还没有用过是不是要和ADOdateset一起用