本文整理自网络,侵删。
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 从listview组件中的选定行在数据库中删除
Delphi firemonkey的stylebook皮肤控件的使用
Delphi xe 获取 android application version 版本
Delphi incyear、incmonth、incweek、incday、inchour、incminute、incsecond、incmillisecond �c 增时
Delphi firedac 下的 sqlite [9] - 关于排序
更多相关阅读请进入《Delphi》频道 >>