各位,我发现DBEdit组件和数据库联系后,虽然可以很方便的将记录的字段值显示出来,但是,只要随便对DBEdit的值手动修改(比如删一个字等等),然后post,就可以完成修改操作。根本不需要事先对数据库表进行Edit设置。请问大家是怎么解决的?反正我就只能通过将DBEdit的Enabled属性设置为False。请指教,谢谢。

解决方案 »

  1.   

    只要把相应的数据集控件(TTable,TQuery)的 CachedUpdates 属性设为 True 即可,若要保存到数据库,调用 ApplyUpdates 方法;取消修改,调用 CancelUpdates 方法。如果用 ADO 控件,需要把其 LockType 属性设为 ltBatchOptimistic 。
      

  2.   

    这也不是什么弊端吗?
    写代码控制就行了
    OnBeforEdit中
      DBEdit1.ReadOnly := False;OnAfterPost中
      DBEdit1.ReadOnly := True;