用adoquery执行下面SQL语句:
Select a.a1,b.b1,b.b2 from a,b where a.a1=b.b1执行结果显示在DBGRID中
在DBGRID中修改各条记录中字段b.b2的内容,请问如何将修改内容保存?我用    ADOQuery1.UpdateBatch;  出现错误消息: 缺少更新或刷新的键列信息

解决方案 »

  1.   

    ADOQuery1.Edit;
    ADOQuery1.Active:=true;
      

  2.   

    ADOQuery1.ltBatchOptimistic;
        ADOQuery1.UpdateBatch(arCurent);
      

  3.   

    表没主键吧
    或者字段有默认值adoquery1的locktype属性不是ltBatchOptimistic
    post就行了
      

  4.   

    好了 谢谢各位 :)coeltdit(每天多顶几下----->>>大虾就是这样练成的)的方法是可行的 
    ADOQuery1.UpdateBatch(arCurrent);就行了~
    表已经设了主键 而且页没有默认值  如果adoquery1的locktype属性设置为itOptimistic 用post,同样会出现 错误提示:缺少更新或刷新的键列信息