本文整理自网络,侵删。
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的webbrowser改造,对网页中alter等对话框的改造方法
更多相关阅读请进入《Delphi》频道 >>