我为啥在程序中执行SQL2000数据库恢复的时候,老是提示数据库正在使用的错误?请看代码指点!以下是我的恢复数据库的代码.  if  Edit2.Text='' then
  begin
    Application.MessageBox('未选择数据库备份的文件名。','提示信息',MB_OK);
    exit;
  end;
  try
    try
      Frmrefreh.Label1.Caption:='正在进行数据库恢复,请稍等......';
      Frmrefreh.Show;
      Frmrefreh.Update;
      Frmrefreh.Refresh;
      Query1.close;
      Query1.sql.Text:='use master';
      Query1.execsql;
      Query1.close;
      Query1.sql.Text:='alter database power-db set offline with rollback immediate';
      Query1.execsql;
      Query1.close;
      Query1.sql.text:='Restore DataBase power-db from DISK='''+Edit2.Text+''' with Replace';
      Query1.execsql;
      Query1.close;
      Query1.sql.Text:='alter database power-db set online with rollback immediate';
      Query1.execsql;
      Query1.close;
      Query1.sql.Text:='use power-db';
      Query1.execsql;
    finally
      Frmrefreh.Hide;
    end;
    Application.MessageBox('数据库恢复完毕。','提示信息',MB_OK);
  except
     Application.MessageBox('数据库恢复失败,请检查所选恢复文件是否正确。'+#13+'关闭其它应用程序,必要时重新启动计算机,然后重新恢复。','提示信息',MB_OK);
  end;