我先是增量备分~现在已经备分好了(备分多个文件`,每一个文件都大于400K)
这个程序我写好了` 
然后还原`  我也写了  不知道怎么回事  程序能执行 就是删除数据库表里的数据后 还原不回去~
我的代码如下` 我执行以后 显示还原成功  我打开数据库表一看  就是没有数据
 var
  filename:string;
 begin
  if opendialog1.execute then 
   begin
    filename:=opendialog1.filename;
     showmessage(filename);////  以下内容我不知道怎么写` 
     
   try
    begin 
     adoquery1.close;
     adoquery1.SQL.clear;
     adoquery1.SQL.text:='use master';
     adoquery1.SQL.text:='alter database hunter set offline with roll immediate';
  adoquery1.SQL.text:='restore database hunter from disk='''+filename+''' with recovery';
  adoquery1.SQL.text:='alter database hunter set online with roll immediate';
  adoquery1.execSQL;
    end;
   showmessage('还原成功');
 except
  showmessage('还原失败');
  end;
end;
  以上代码  不是从复制过来`  可能有打错单词或者标点`请大家尽量从大的方面找`
  谢谢`  我是新手 没有多少分`

解决方案 »

  1.   

    adoquery1.SQL.text:='use master';
         adoquery1.SQL.text:='alter database hunter set offline with roll immediate';
      adoquery1.SQL.text:='restore database hunter from disk='''+filename+''' with recovery';
      adoquery1.SQL.text:='alter database hunter set online with roll immediate';这里写的不对,你要么都写成一个adoquery1.sql.text :='';你这样分开写,执行的不对。
    或者
    sSql :stringsSql :=  'use master';
    sSql := sSql + 'alter database hunter set offline with roll immediate';
    ....
    adoquery.sql.text := sSsql;