哥哥啊,ACCESS数据库压缩问题,如何利用D6下的DAO2000来实现(100分)

  • 主题发起人 主题发起人 lunni
  • 开始时间 开始时间
L

lunni

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要压缩ACCESS2000的数据库,在D6下发现一个DAO2000。PAS,里面有压缩和修复数据库的过
程不知道如何利用啊。
 
//给你贴一段代码
var
sSource, sTerminal: String;
begin
if SaveDialog1.Execute then
begin
try
Screen.Cursor := crHourGlass;
//要压缩的数据库
sSource := AppPath+'DataBase/LandBase.Mdb';
sTerminal := SaveDialog1.FileName;
if FileExists(sTerminal) then
DeleteFile(sTerminal);
if Dm.CompactAndRepair(sSource,SaveDialog1.FileName) then
//自己写的过程
InfoMsg('压缩备份数据成功!')
else
//自己写的过程
ErrorMsg('压缩备份数据失败,请检查是否有足够的磁盘空间、目标文件是否已经打开!')
finally
Screen.Cursor := crDefault;
end;
end;
end;
 
//备份及压缩ACCESS2000数据库
function TDm.CompactAndRepair(sOldMDB,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;
 
这些我已经知道了,我想知道如何利用D6下的DAO2000的方法来实现啊,另外我用修复的时候
系统提示说不支持此操作是怎么回事。
 
我也试过,没有成功
 
接受答案了.
 
后退
顶部