如何实现用delphi实现压缩access数据库

解决方案 »

  1.   

    另外,要想上面的函数编译通过,你需要先把Microsoft Jet and Replication Objects 2.1 Library导入到Delphi中,
    步骤如下: 1、在Delphi集成开发环境中,点选菜单(Project-Import Type Library)。 2、在弹出的对话框中,移动滚动条,找到Microsoft Jet and Replication Objects 2.1 Library。 3、点击Install按钮。 然后把JRO_TLB单元添加到你的Delphi应用程序中的Uses单元。好了,运行程序试一下吧,数据库文件是不
    是小了好多呢? 
    procedure TForm1.StartClick(Sender: TObject);
    begin
      DeleteFile('d:\db\OldTemp.rar');
      RenameFile('d:\db\Temp.rar', 'd:\db\OldTemp.rar');
      if CompactAndRepair('d:\db\OldTemp.rar', 'd:\db\Temp.rar') then
        ShowMessage('操作成功')
      else
        ShowMessage('操作失败');
    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;
    /////////////////////////////压缩及修改数据库/////////////////////////////