数据表是典型的主从表,一对多的关系,保存时
主表内添加一条纪录,获取其主键ID(自增int)以后,将多条录入的数据(也就是类似DBGrid里面的多条数据)及关联主表的主键ID添加到从表中,在保存之前,可以随便修改已经录入的临时纪录。初学者,希望能给出完整详细的解决方案。

解决方案 »

  1.   

    将从表以Cached模式打开。
    然后新增、删除、修改数据都是在内存中进行的。
    等确定保存数量时,再用ApplyUpdates来提交数据。
      

  2.   

    感谢2位,意思基本明白,可是还是不太会用,哪怕给个简略的代码也好!将从表以Cached模式打开。<——这个是什么意思?
    是 ADOquery.open的时候?
      

  3.   

    从表的ado控件,假设是adoquery1adoquery1.LockType := ltBatchOptimistic;其它增加,修改,删除操作如常最后确认保存
    adoquery1.UpdateBatch(arAll);
    取消
    adoquery1.CancelUpdates;
      

  4.   

    1、先将TADODataSet.LockType := ltBatchOptimistic; 2、进行常规的增、删、改操作;3、提交数据集:TADODataSet.UpdateBatch(arAll);如果要取消所有修改的话可以用:TADODataSet.CancelBatch(arAll)