请教:       ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Text:='restore database test from ''backup3''';
       try
       ADOQuery1.ExecSQL;
       showmessage('成功');
       except
       showmessage('失败');
       end;
我单击 button 按钮时提示:
backup3 附件有错误, backup3 是一个备份设备!
(已经备份了 test 数据库)各位大哥,我是错在哪里啊?谢谢!

解决方案 »

  1.   

    路径有问题 ADOQuery1.SQL.Text:='restore database test from  disk='+quotedstr('路径/backup3.bak);
      

  2.   

    不过最好不要这样,如果你的程序在运行的话,是没有办法打开的,所以你先的借用master;具体的写法如下:
     ADOQuery1.SQL.Text:='use master';
     asoquery1.execsql;
     ADOQuery1.SQL.add('restore database test from  disk='+quotedstr('路径/backup3.bak'));
      

  3.   

    try
          adocmmd.CommandText:='use master';
          adocmmd.Execute;
          adocmmd.CommandText:=' alter database mydb set offline with rollback immediate';
          adocmmd.Execute;
          adocmmd.CommandText:='restore database mydb from disk= '''+edit2.Text+''' with recovery ';
          adocmmd.Execute;
          adocmmd.CommandText:=' alter database mydb set online with rollback immediate';
          adocmmd.Execute;
          showmessage('ok');
          application.Terminate;
        except
        on e:exception do
          begin
            showmessage('false'+e.Message);
          end;    end;
      

  4.   

    if OpenDialog1.Execute then
          begin
          if length(opendialog1.FileName)>0 then
          begin
            try          with frm_data.ADOQuery1    do
              begin
                Close;
                SQL.Clear;
                SQL.Add('Restore DataBase  zxmanager from disk ='''+opendialog1.FileName+'''');
                ExecSQL;
                Application.MessageBox('成功的还原数据据库','提示您',MB_OK + MB_ICONINFORMATION);
                         end;
           except
             ShowMessage('还原失败');
             Exit;
           end;
           end;
         end;