我初学delphi,再写一些小的程序,但是在对sql2000数据库进行备份和还原时总是不行,望各位能提一些方法给我。

解决方案 »

  1.   

    参考这个
    http://www.2ccc.com/article.asp?articleid=1360
      

  2.   

    功能:SQL数据库恢复
    参数:databasename数据库名,filename数据库备份文件名
    ////////////////////////////////////////////////////////
    function sqlrestore(databasename,filename:string):boolean;
    begin
    if (databasename<>'') and (filename<>'') then
    begin
    try
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.CommandTimeout:=120;
    adoquery1.SQL.Add('use master');
    adoquery1.SQL.Add('alter database '+databasename+' set offline WITH ROLLBACK IMMEDIATE');
    adoquery1.SQL.Add('restore database '+databasename+' from disk='''+filename+''''+' with REPLACE ');
    adoquery1.SQL.Add('alter database '+databasename+' set online with rollback immediate');
    adoquery1.ExecSQL;
    result:=true;
    except
    result:=false;
    exit;
    end;
    end;
    end;////////////////////////////////////////////////////////
    功能:SQL数据库备份
    参数:databasename数据库名,savepath数据库备份文件名
    ////////////////////////////////////////////////////////
    function TForm7.sqlback(databasename,savepath:string):boolean;
    begin
    if (databasename<>'')and (savepath<>'') then
    begin
    try
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('backup database '+databasename+ ' to disk='''+savepath+'''');
    adoquery1.ExecSQL;
    result:=true;
    except
    result:=false;
    exit;
    end;
    end;
    end;