需求功能:
   用户修改了某些数据(比如textbox的值),即时更新数据库,然后提供“撤销”功能,如用户发现修改有误,即可执行“撤销”操作,数据回到修改前的数据。
   
   这撤销功能应该如何实现?用临时表?有人说可以用数据源类来实现,只是没有用过数据源类,请指教。

解决方案 »

  1.   

    在vb中,数据对象都是在 movenext 或者update 等属性执行后
    才会真正的更新数据库
    如果没有移动或更新 ,数据是不会更新到数据库中
    如果是控件绑定 
    可以对 WillChangeField等,这些事件进行编写
    如果是因为对象,就写函数或者 不进行真正更新数据库信息
      

  2.   

    to 2楼、3楼:
    如果是数据量比较大呢?
    那岂不是要占用很多资源,并且效率很低?to 5楼:
    我用的VSFLEXgrid 绑定。
    如果不真正更新数据库那修改的时候又把数据存在哪里呢?to 6楼:
    老板要这功能,我也见过有人实行过这个功能,并且在程序退出之前所有数据都是没有真正保存的。
    程序会每多少分钟提醒用户保存数据。
    还做到k级大小的数据文件(不是直接存数据库,应该是他们自己写的一种文件格式,非常小)。
      

  3.   

    用户修改了某些数据(比如textbox的值),即时更新数据库,然后提供“撤销”功能
    意思已经更新数据库了??然后在进行“撤销”
    那我觉得你还是应该用临时表
    这样他要是撤销的时候,你回到原来数据库中调用
    我过去就是这样做的!!当保证所有都没有错误的时候,
    在将该临时表中的数据完全覆盖!
    这个覆盖就看你修改的数据量,如果就几条,可以设置标志位