我对两个adoTABLE用mastersource建立关系,可当主表中的记录还没保存时,对从表进行增加操作,怎么会有问题!当从表中增加第二条记录时,第一条会丢失掉!从表的LockType我用的是ltBatchOptimistic!请问大家怎么解决这个问题?我在BDE里用的好好的!哎!用ADO可真麻烦!刚学向大家请教!

解决方案 »

  1.   

    这种情况数据主从表同时更新的问题,即使使用事务也无法避免。因为在你增加从表的数据是没有主键ID,你虽然设置从表为ltBatchOptimistic方式,但数据还是要post到缓存中,数据严整不完整,因此从表中第一条数据就不能保存。
    以下是替代方案:
    1.通过StringGrid代替DBGrid等数据感知构件,通过程序控制数据的增加删除
    2.通过在主表增加数据时形成临时ID的方式,确保主从表的关联
      

  2.   

    看看提示错误,必要时候手动操作数据,保证数据完整性.我用ADO的感觉是很多操作有时不能正常完成,要多检测表的状态.多做异常控制会好些.