DB数据库问题!(50分)

  • 主题发起人 主题发起人 wanxu
  • 开始时间 开始时间
W

wanxu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delpohi+win98开发程序。当程序非法操作或者系统突然掉电的时候,我再进入系统,
程序中那些还没有来得急保存的数据(存在*.DB数据库中)就丢失了,有没有办法当出现
上述情况的时候我数据库中的数据还存在?
我觉得出现这个问题是因为虽然我对数据库中的数据进行了修改,但是程序还没有退出的
时候,对数据库本身而言所做的修改实际上还没有保存在数据库中,所以非法退出后就出
现上述情况!!!有没有办法让数据库中的数据随时保存,随时更新?或者是其他的原因?

愿闻其详!!!!
 
Table1.CommitUpdates;
因为使用 *.DB数据库时,POST 只是把数据保存到 缓存中,这样可以提高速度;
并没有保存到数据库文件中,也就是没有保存到硬盘文件中,所以会出现这种情况,
可以用上面的语句来把缓存中的数据保存到硬盘中。给一个例子给你:
procedure TForm1.ApplyButtonClick(Sender: TObject);

begin
with CustomerQuery do
begin
Database1.StartTransaction;
try
ApplyUpdates; {try to write the updates to the database};
Database1.Commit; {on success, commit the changes};
except
Database1.Rollback; {on failure, undo the changes};
raise; {raise the exception to prevent a call to CommitUpdates!}
end;
CommitUpdates; {on success, clear the cache}
end;

end;
 
接受答案了.
 
zhuihuali:
但是我用的是table+datasource+dbgrid;你的方法好像不行!
还有针对这种情况的办法吗?
 
后退
顶部