delphi+Access,请问如何在程序中对ACCESS数据库进行备份及恢愎?

解决方案 »

  1.   

    好象你是copyfile()这个函数
    你查一下
      

  2.   

    unit unAccessTools;interfaceuses Sysutils,ComObj,Dialogs;function DaoActive(var DaoObject:OleVariant):Boolean;function DaoCompactDB(const FileName:string):Boolean;function DaoRepairDB(const FileName:string):Boolean;implementationfunction DaoActive(var DaoObject:OleVariant):Boolean;beginResult:=False;tryDaoObject:=GetActiveOleObject('DAO.DBEngine.36');Result:=True;excepttryDaoObject:=CreateOleObject('DAO.DBEngine.36');Result:=True;exceptDaoObject:=Null;end;end;end;//压缩Access数据库function DaoCompactDB(const FileName:string):Boolean;vardb:OleVariant;TempFile:string;beginResult:=False;tryif not DaoActive(db) thenExit;tryTempFile:=ExtractFilePath(FileName)+'msaTemp.mdb';db.CompactDatabase(FileName,TempFile);DeleteFile(FileName);RenameFile(TempFile,FileName);Result:=True;excepton E:EOleException doShowMessage(E.Message);endfinallydb:=Unassigned;end;end;//修复Access数据库function DaoRepairDB(const FileName:string):Boolean;vardb:OleVariant;beginResult:=False;tryif not DaoActive(db) thenExit;trydb.RepairDatabase(FileName);Result:=True;excepton E:EOleException doShowMessage(E.Message);endfinallydb:=Unassigned;end;end;end.
      

  3.   

    创建Access文件后,链接之,然后用把数据复制过去 
    var
       CreateAccess:OleVariant;
    begin
       CreateAccess:=CreateOleObject('ADOX.Catalog');
       CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\ta.mdb
    ;');
       CreateAccess  :=  Unassigned;end;