而不是一条一条的更新.

解决方案 »

  1.   

    在 Onupdaterecord事件中更新库存.
      

  2.   

    设置
    ADOQuery的LockType为ltBatchOptimisticADOQuery.CancelBatch
      

  3.   

    adoquery1的LockType为ltBatchOptimistic  adoquery1.commitbatch//提交
      adoquery1.canclebacth//取消
      

  4.   

    DBgridEh1的数据集的属性设置如下(以Ado为例):
    LockType:ltBatchOptimistic
    CursorType:ctKeyset或ctStatic
    更新为:updateBatch
    撤消为: cancelBatch如果为BDE则数据集属性设置如下:
    Cachedupdate:为True
    更新为:ApplyUpdates
    撤消为:CancelUpdates
      

  5.   

    楼上的几位说得很正确,补充说明一点:ADO进入BatchUpdate模式时,所有的数据的修改都是在客户端,当客户端要把数据更新回数据库时,调用UpdateBatch,但是在使用UpdateBatch时,有可能出现的一种情况就是另外的客户端可能也修改了源数据,并做了向数据库的递交,这会造成数据更新失败,所以在更新的时候还要搭配错误处理程序