with ADOQuery1 do
    begin
      Close;
      Sql.Clear;
      sql.add('RESTORE FILELISTONLY ');
      ss:=Format('FROM DISK=''%s''',[edit1.text]);
      Sql.Add(ss);
      Sql.Add('RESTORE DATABASE databasename');
      ss:=Format('FROM DISK=''%s''',[openDialog1.FileName]);
      sql.add(ss);
      Sql.Add('WITH MOVE ''databasename_Data'' TO ''d:\mssql7\data\testdb.mdf'', ');
      Sql.Add('MOVE ''databasename_Log'' TO ''d:\mssql7\data\testdb.ldf''');
    execsql;
   close;

解决方案 »

  1.   

    RESTORE DATABASE master
       FROM disk = 'c:\master.bak'
      

  2.   

    RESTORE DATABASE database1  FROM disk = 'c:\backupfile.bak'
      

  3.   

    begin  //if then
        // begin
                adoconnection1.Close ;
                try
                adoconnection1.Open;
                except
                   on exception do
                       if ADOConnection1.InTransaction then
                          ADOConnection1.RollbackTrans;
                end;
              if adoconnection1.Connected  then
              begin            pgbar.Max:=100;
                pgbar.Min:=0;
                pgbar.Step:=20;
                try
                    ADOCommand1.CommandText:='use master ';
                    pgbar.StepIt;
                    adocommand1.Execute ;
                    adocommand1.CommandText:='RESTORE database docmanage FROM DISK = ''c:\ccc.bak''  with replace ,stats';
                    pgbar.StepIt;
                    pgbar.StepIt;
                    adocommand1.Execute ;
                    pgbar.StepIt;
                    pgbar.StepIt;
                    form1.Hide;
                      if messagedlg('c:\ccc.bak已成功还原到数据库docmanage!继续?',mtwarning,[mbok],0)=mrok then
                         begin
                           form2.close
                      end;
                except
                   on exception do
                       if ADOConnection1.InTransaction then
                          ADOConnection1.RollbackTrans;
                end;
              end
              else
                begin
                   application.MessageBox('服务器连接断开,请与管理员联系!','系统提示');
                   form2.Close;
                end