有些应用中会有三级表关联,如:
表1(COL1,COL2)
表2(COL11,COL22)
表3(COL111,COL222)我用ADOQUERY 的指令来关联()
表1关联表2(COL1=COL11)
表2关联表3(COL11=COL111)
当我把三表locktype 设为ltBatchOptimistic 时,用批量提交.在录入时前端,如果表2没有提交时,表3与表2有无法实现多对多的关联。(也就是说,表2的记录永远只有一条记录与表3能关联,因为当表2的记录滚动时,关联值就因没有正式提交而无法关联),请问各位大师是如何处理的。

解决方案 »

  1.   

    多表连接更新问题,D并不知道,需要更新那个一表,往往想更新表1时,它可能只更新了表2
    所以,建议换方法,对单表作更新操作多表连接,ADOQUERY.locktype:=ltBatchOptimistic 时,可以这样试试,指定更新的表:ADOConnection1.BeginTrans;
    ADOQUERY.Properties['Unique Table'].Value:='表1';
    try
    ADOQUERY.UpdateBatch(arAll);
    ADOConnection1.CommitTrans;
    except
      ADOConnection1.RollbackTrans;
    end;