在Delphi如何备份Access数据库 (通过OLE)?(100分)

  • 主题发起人 主题发起人 lishding
  • 开始时间 开始时间
L

lishding

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如前.
 
为什么非要用OLE?请再说明白些
 
我的本意是 在程序中让用户自己压缩 Access 的数据库
(用一段时间就变得很大),
查Access的帮助中发现有 dbengin.compact...(不好意思,不知怎么写了)
的方法,但不知怎么在D4写.
请各大虾伸伸手 :-(
 
太慢了...
 
用diamond access 吧,它封装了dao(包含compact).
 
如果只是修复和压缩数据库,可导入DAO 的类型库(DAO_TLB.pas)
用 DBEngine 的 RepairDatabase 和 CompactDatabase过程.
Access数据库压缩前最好修复一下.
 
把access升级到2000,数据库是自动压缩。
 
这段时间猫进医院了,实在对不起各大侠,
现在就分银子。

TO xg8816,netyjj:

我用的是D4,用BDE 和 ODBC 联Access,先奉上银子,方便的话
再帮帮我?:-(
 
从project菜单上选择 import type library,选择microsoft DAO 3.51 object
library,选'create unit',生成DAO_TLB.pas
在你的工程中包含此文件.
var
Engine :DBEngine;
d1,d2,d3:olevariant;
begin
Engine.RepairDatabase('xxx.mdb');
Engine.CompactDatabase('xxx.mdb','yyy.mdb',d1,d2,d3);
end;

 
sorry:少了一句
Engine := CoDBEngine.Create;///
 
对,我也想这样说,先修后压。
 
接受答案了.
 
后退
顶部