问下大家怎么样备份和加载数据库(access )的最好给我代码,谢谢!!

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1455/1455354.xml?temp=.1320764
      

  2.   

    这种贴子多的是,到论谈里最多的就是这个问题了,下次先搜贴,然后,再决定是否用分来求购。
    :)
    备份:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     AdoQuery1.SQL.Text := 'backup database aa to disk = ' + '''' + 'e:\backup.dat' + '''';
     AdoQuery1.ExecSQL;
    end;
    恢复:
    procedure TForm1.Button2Click(Sender: TObject);
    begin
     AdoQuery1.SQL.Text := 'restore database aa from disk =' + '''' + 'e:\backup.dat'  + '''';
     AdoQuery1.ExecSQL;
    end;
      

  3.   

    谢谢提醒,不过你的会出现无效的sql语句……:)
      

  4.   

    uses comobj
    var
    dao: OLEVariant;
    sourcefile:string; 
    if savedialog1.Execute then
      try
      sourcefile:=Getexepath+'file\db.mdb';//数据库路径
      Maindatamodule.acConnect.Close;
      dao := CreateOleObject('DAO.DBEngine.36');
      dao.CompactDatabase(sourcefile,savedialog1.filename);
      except
      Messagedlg('主数据库正在被他人或应用程序使用,请稍后再试!',mtwarning,[mbok],0);
      end;出现错误:数据库正被delphi2上的用户admin以排它的方式打开。
    我不是已经把Maindatamodule.acConnect.Close了吗?
    希望得到帮助。
      

  5.   

    恢复时,虽然连接关闭了,但是仍会有一段时间与数据库保持连接。
    你可以这样做恢复:
    AdoQuery1.SQL.Text:='USE master EXEC sp_dboption huststudio restore database aa from disk='''+e:\backup.dat+''' with REPLACE');
      

  6.   

    haerbin982() 你的方法还是不行
      

  7.   

    无效的sql语句,是不是你的用来备份sqlserver数据库的。