操作系统:Windows 2000 Server
数据库:BDE
数据查询、插入、删除操作控件:TQuery控件(SQL语言,所有操作全用SQL语言)插入多条记录,退出程序。用DELPHI自带的Database Desktop打开表。数据已经成功的插入表中。
按键盘上的“Power”(电源)键关机。
重启电脑,再用Database Desktop打开表,在关机前插入的数据全部丢失了?????????
再运行程序,再插入记录。再用Database Desktop查看,记录已经成功插入。
点击“开始”--->“关机”--->“重启计算机”。
再用Database Desktop打开表,发现数据没有丢失。如此问题,已另我想了一天,用了多种方法,还是没有解决。还请各位大侠相助。
分不是问题(分不够可再加)

解决方案 »

  1.   

    这个问题不难懂。
    操作系统为了提高磁盘的性能,通常都会启动读写缓存,你的相关操作很多都是在这个缓存里面完成的。
    如果你说的写数据库,其实只是写入了磁盘缓存,系统会在空闲或者必须的时候把数据真正的写入磁盘,所以计算机非正常关机是非常容易丢失数据的,因为fat的fat表也在内存,更容易数出现磁盘出现丢失数据的情况。如果你是paradox数据库,可以用BDE的API,来强制每次把数据真正写入磁盘,但是这样也不能保住不丢失数据,因为文件系统也可能被破坏。有益的办法是,尽可能采用NTFS替代FAT32,增加UPS
      

  2.   

    hoho,我曾经跟你一样郁闷!不过现在不郁闷了!
      

  3.   

    请问 zhang21cnboy(沧桑男人)
    你是如何解决的?能否告诉小弟?TO: pazee(耙子)
    难道就没有其它的方法了吗?
      

  4.   

    要是能彻底解决还要什么ups、热备份、荣灾容错系统了。