我需要用户输入一批数据后再一次过提交,请问具体做法如何?
用DBGrid可否实现?

解决方案 »

  1.   

    DBGrid只是显示数据的控件而已,与提交数据的问题无关。
    如果你是用多层结构,那么可以达到你的要求。在客户端,ClientDataSet的Post只是把数据更新到本地缓存中,并没有真正提交到数据库中,直到调用ApplyUpdates才会执行对实际数据库的写入操作。你POST多条数据后,再执行ApplyUpdates操作就可以了。 
    如果是CS结构,好象没有合适的方法可以达到你的要求。
      

  2.   

    C/S结构完全可以做到:
    在ADODataSet的LockType属性设为:ltBatchOptimize即可;(即批更新)
    在需要保存时, 用ADODataSet.UpdateBatch就可以将数据一次性提交;(POST在这种模式下只能够写入内存)
      

  3.   

    完全同意楼上的做法 这样的话 就可以把数据首先写入缓存当中 你最后在UpdateBatch全部提交就可以了
    在ADODataSet的LockType属性设为:ltBatchOptimize即可;(即批更新)
    在需要保存时, 用ADODataSet.UpdateBatch就可以将数据一次性提交;(POST在这种模式下只能够写入内存)
      

  4.   

    也就是adoquery的LockType属性设为:ltBatchOptimize