我在dbgrid里面修改数据的时候本来我想是按下按钮
  self.adoquery2.UpdateBatch; 来提交 
  但是我发现当我的鼠标离开这一个单元到其他的单元时
  我的数据也被存到到了数据库里面去了
  我想问问有什么方法 不允许鼠标的点击其它的区域来完成
  而是用按下按扭用self.adoquery2.UpdateBatch;来提交呢
  这样安全
                                            哪位大哥会的请指教

解决方案 »

  1.   


    用dbgrid是无法实现你说的问题的.因为在dbgrid上你修改的是绑定的adoquery...
    换用stringgrid控件,不绑定数据,每次用代码添加数据,然后用代码逐条更新数据.
    可以实现你说的功能
      

  2.   

    adoquery的属性面板的LockType属性选择ltBatchOptimistic
    就ok了
    用self.adoquery2.UpdateBatch提交
      

  3.   

    上面将的对,其实你的数据还没有提交到数据库呢,估计你用的是缓存模式
    只有你调用了得adoquery2.UpdateBatch才提交数据库的,没事的。
      

  4.   

    这样是可以 但还是有一个小问题 就是我在  self.adoquery2.append; 添加的时候虽然
    鼠标点击其它的区域是不能提交了 但是dbgrid里面的小三角还是跟着鼠标跑 有什么方法不让那三角跟着鼠标跑呢 也就是当前行不能改变呢