本文整理自网络,侵删。
function CompactDatabase(AFileName,APassWord:string):boolean;
const
SConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;';
var
SPath,SFile:Array [0..254] Of Char;
STempFileName:String;
JE:OleVariant;
begin
GetTempPath(40,SPath);
GetTempFileName(SPath,'~CP',0,SFile);
STempFileName:=SFile;//PChar->String
DeleteFile(STempFileName);
try
JE:=CreateOleObject('JRO.JetEngine');
OleCheck(JE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord])));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;
相关阅读 >>
Delphi 如何将access的ole对象字段存储的bmp图象显示出来
Delphi 10 下提示sharedactivitycontext错误的解决方法
Delphi xe7中的运行时设置android应用程序屏幕方向
Delphi winapi: getwindow - 获取与指定窗口具有指定关系的窗口的句柄
Delphi tscreen 类 - 通过 screen 更换光标
更多相关阅读请进入《Delphi》频道 >>