带密码的Access2000如何用ole来压缩啊!(50分)

  • 主题发起人 主题发起人 danxyz
  • 开始时间 开始时间
D

danxyz

Unregistered / Unconfirmed
GUEST, unregistred user!
带密码的Access2000如何用ole来压缩啊!请给出源代码,谢谢!
 
我有好几个呀。[:D]
 
1、
procedure TForm1.Button2Click(Sender: TObject);
var
Dest_DB_Connection: OleVariant;
l_Source_Con_Str, l_Dest_Con_Str: string;
begin
ADOConnection1.Connected :=False;

try
Dest_DB_Connection := CreateOleObject('JRO.JetEngine');
except
Exit;
end;

l_Source_Con_Str := 'Data Source=C:/1.mdb;';//pass什么的在这里加,和ConnectionString格式相同

l_Dest_Con_Str := 'Data Source=C:/2.mdb;';

try
OleCheck(Dest_DB_Connection.CompactDatabase(l_Source_Con_Str, l_Dest_Con_Str));
except
end;
end;
 
2、这个也是,其实原理相同。
Function CompactAndRepair(sOldMDB : String; 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;
 
后退
顶部