大家有没有一些比较好的够及时的数据保存方法。我用写ACCESS,写TXT都试过,不够及时,如:1,写TXT:我在写某个文件的时候,显示写成功的瞬间马上断电重启计算机,回来看数据没写成功。2,写ACCESS:我对ACCESS的某个表Update 后,才Select这个表,再判断是否成功,才显示成功。但都显示成功了。数据也是正确的,就在这时,马上断电(即:非法关机重启),重启完后,数据验证:写失败。因为又还原了Update前的数据,也就是Update没有成功。备注:
1,单机上情况实现(因为有些朋友说可以把数据传到WEB的服务器里或其它的计算机里,但我们是单机上,这不可行。)
2,能不用UPS,就尽量不用UPS。上级需要:我们也和他们说,是微乎其微的。但他们就说要解决,我也提过用UPS,但他们就说,试试有没有除了使用UPS的情况下,其的办法可以解决?(我就想到,不在PC板上运行,才可以,在IC板上,自己加一些蓄电的元件)
另外:我的学习群里的其他朋友提出:“或者关掉硬盘缓存开关”这个关掉硬盘缓存开关,怎么操作呢?(怎么关掉硬盘缓存开关?)

解决方案 »

  1.   

    没有绝对安全的方法。
    不经过缓存写硬盘速度非常慢,数据丢失的概率更大。
    这是安全策略问题,并非完全是软硬件技术问题。
    比如说是否需要定时临时存储,以及临时存储的时间间隔设为多少合适。
    如果只是为了显示写成功的瞬间马上断电重启计算机,回来看数据是否写成功,那很简单,sleep一会儿再显示存储成功。
      

  2.   


    sleep没有意义。因为一断电,谈何sleep
      

  3.   

    比如,你执行完文件写入,这个时候调用Application.DoEvent,接着调用sleep(1000).最后告诉用户写入成功。
    这样,用户看到写入成功的时候,其实早就写到硬盘上了。
    1,写TXT:我在写某个文件的时候,显示写成功的瞬间马上断电重启计算机,回来看数据没写成功。你这个显示写成功,是怎么显示的?是给用户看的呢。还是代码调试到这里?请把你的问题描述清楚一点。
      

  4.   


    我说的是,意外掉电的情况,而且,实际项目中,是不能有任何提示的,是一款游戏。一些重要信息,没有处理成功,客户会很不满意。现在只能给他们提供UPS硬件设备了。