AdoQuery1.Sql.text:='select R.商品编号, S.商品名称,
          R.商品数量 from 入库单 R left join 商品信息 S on R.商品编号=S.商品编号';当我们维护AdoQuery1的时候,商品编号,商品名称不能直接手工写,必须通过另外一个数据集从
商品信息里获取。目的是在dbgrid进行批量录入和修改,维护操作完成后,我们需要保存,如果AdoQuery1.Sql只是单表,我们可以不加思考的用
AdoQuery1.UpdateBatch实现批量更新。
但是现在是多表,我更新的只是一个表( 入库单)。怎么做到????
网上看到的资料有说用left join 的
有说 Recordset.Properties['Unique Table'].Value :='TableA;的,但我都没成功.帮忙看看,给点源码吧

解决方案 »

  1.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=3465427
      

  2.   

    你可以在Post的时候,直接写SQL语句更新。
      

  3.   

       连接多表,只更新单表,用批更新模式是可以的   AdoQuery1.Connection:=ADOConnection;
       ADOConnection.BeginTrans ;
       AdoQuery1.Properties['Unique Table'].Value:='YouTable';
       AdoQuery1.UpdateBatch(arAll);
       ADOConnection.CommitTrans;