代码如下:
uses DAO2000var
Engine:DBEngine;
filedir:string;
dbfile:string;
begin dm.ADOCnn.Connected:=false;
filedir:=GetCurrentDir()+'\whhotel.mdb';
dbfile:=GetCurrentDir()+'\whhotel1.mdb';
Engine:=CoDBEngine.Create;
engine.CreateDatabase(dbfile,'',0);
Engine.CompactDatabase(filedir,dbfile,'',0,'');
deleteFile(filedir);
RenameFile(dbfile,filedir);
运行程序,提示无效参数,并在engine.compactdatabase行停下
uses DAO2000var
Engine:DBEngine;
filedir:string;
dbfile:string;
begin dm.ADOCnn.Connected:=false;
filedir:=GetCurrentDir()+'\whhotel.mdb';
dbfile:=GetCurrentDir()+'\whhotel1.mdb';
Engine:=CoDBEngine.Create;
engine.CreateDatabase(dbfile,'',0);
Engine.CompactDatabase(filedir,dbfile,'',0,'');
deleteFile(filedir);
RenameFile(dbfile,filedir);
运行程序,提示无效参数,并在engine.compactdatabase行停下
var
X: OleVariant;
source,temp:string;
begin
source:=extractfilepath(application.exename)+'a.mdb';
temp:=extractfilepath(application.exename)+'temp.mdb';
adoconnection.Connected:=false;
try
X:= createoleobject('JRO.JetEngine');
x.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+sourcefile+'','Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+tempfile+'');
if fileExists(source) and FileExists(temp) then
if deleteFile(source)then
RenameFile(temp,source);
except
x.Release;
end;
adoconnection.Connected:=true;
end;