如何在程序里实现对ACCESS数据库的压缩和修复功能?(1分)

  • 主题发起人 主题发起人 mr.zy
  • 开始时间 开始时间
M

mr.zy

Unregistered / Unconfirmed
GUEST, unregistred user!
问题同上
环境:D5 + ACCESS97 + ADO +Microsoft.Jet.OLEDB.4.0
 
Function CompactAndRepair(sOldMDB : String; sNewMDB : String) : Boolean;
const
sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;';
var
oJetEng : JetEngine;
begin
sOldMDB := sProvider + 'Data Source=' + sOldMDB;
sNewMDB := sProvider + 'Data Source=' + sNewMDB;

try
oJetEng := CoJetEngine.Create;
oJetEng.CompactDatabase(sOldMDB, sNewMDB);
oJetEng := Nil;
Result := True;
except
oJetEng := Nil;
Result := False;
end;
end;


示例:

if CompactAndRepair('e:/Old.mdb', 'e:/New.mdb') then
ShowMessage('Successfully')
else
ShowMessage('Error…');

重要注意:
1- 在你的uses语句中加入JRO_TLB单元。
2- 在压缩的过程中,其它人不能打开或使用数据库。
3- 如果你的编译器报告没有找到JRO_TLB单元,就按以下步骤去做:
a) 在Delphi IDE中选择Project - Import Type Library.
b) 往下翻直到你找到“Microsoft Jet and Replication Objects 2.1 Library”.
c) 点击Install按钮
d) 重新编译
 
接受答案了.
 
后退
顶部