各位大侠!小弟在此向你们请教一个问题,数据表的批处理的问题,用updatabatch(),我有两个ADOQUERY,一个主表,一个从表,它们的COUSORTYPE=CTSTATIC LOCKTYPE=ITBATCHOPTIMISTIC 如果将主表UPDATABATCH()后,加入了若干条子表记录,这时如果改变主表的任何一个字段的值,从表将自动清空,请问这是什么原因,应该怎么解决这个问题呢????还有,如果在输入从表数据之前如果不对主表updatabatch(),从表新增一条后会自动消失,也就是说不将主表updatabatch(),从表将无法加入记录,这又是什么问题呢?应该怎样解决??     小弟不胜感激! 最好给我一个例程!我的E-Mail:[email protected]

解决方案 »

  1.   

    delphiseabird(沙鸥) 兄:自己写代码那是可以的,但BORLAND公司既然提供了这样的一个处理方法,自然有他的道理啊!
    如果连这都解决不了,那BORLAND不就太那个了一点吗?我还是相信可以解决的!呵呵,不知是否有同感!
      

  2.   

    在主表的onAfterScroll事件中控制,从表的更新吧。在从表新增数据onNewRecord时候,把主表的主键写入从表的关联字段。
    ------------------------------------------------------
    加入了若干条子表记录,这时如果改变主表的任何一个字段的值,从表将自动清空
    我觉得这种情况不太可能出现,因为此时主从表之间的连接条件没有改变,怎么会导致从表数据清空,如果可能的话我想是主表此时的主键ID为空,从表的关联ID与主表不同。
      

  3.   

    hhytsoft(雨中独行) :
       第一:我的主表每个字段都有数据!主键ID也有!主从表也关联好了!
       第二:如果不把主表UPDATEBATCH(),从表将无法存储(我的从表用的是DBGRID,当按向下键的时,应该保存我刚输的记录并新增一条记录,但不行,我刚输的记录都不见了!);
       第三:当我将主表UPDATEBATCH()后,再对从表进行操作的话,第二个问题不会出现,但在这时,只要修改主表的任何一个字段的值,从表的记录又没有了!还请各位大侠指点!分不够可再加!
      

  4.   

    建议去掉从表与主表的外键,
    在主表的onAfterScroll事件中控制从表与主表的关联字段.1.将主表post,字段伏给其它参数,主表Edit;
    2.从表Insert,与主表的关联字段赋值参数;
    3.提交从表
    4.updatebatch主表