Delphi压缩access数据库

function CompactMDB(const DBFile, Pwd: string): boolean;
var
  TempDBFile: string;
  ConStr: string;
  JE: OleVariant;
begin // Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=..\Data\alarm.mdb;Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;
  ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +
    'Jet OLEDB:Database Password=HYGEA;';
  TempDBFile := ExtractFilePath(Application.ExeName) + 'TEMP.mdb';
  try
    JE := CreateOleObject('JRO.JetEngine');
    JE.CompactDatabase(Format(ConStr, [DBFile, Pwd]),
      Format(ConStr, [TempDBFile, Pwd]));
    Result := CopyFile(PChar(TempDBFile), PChar(DBFile), False);
    DeleteFile(PChar(TempDBFile));
  except
    Result := False;
  end;
end;


procedure THCMainForm.HCMaintenanceFrameButton7Click
                (Sender: TObject);
              begin
                CompactMDB(ExtractFilePath(Application.ExeName) + 'alarm.mdb',
                  '');
              end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值