代码如下:
CurrentZTName是当前数据名if ReBackupDialog.Execute then
  begin
    op:=TADOQuery.Create(self);
    op.Connection:=dbm.DBConn;
    op.SQL.Clear;
    op.sql.add('use master');
    op.ExecSQL;
    op.SQL.Add('Restore DataBase '+CurrentZTName+' from Disk = '''+ReBackupDialog.FileName+''' WITH Replace''');
    try
      op.ExecSQL;
      showmessage('restore db completed.');
      op.SQL.Add('use '+CurrentZTName);
      op.ExecSQL;
      op.Close;
      op.Free;
      dbm.dbconn.close;
      DBM.DBConn.ConnectionString:='Provider=SQLOLEDB.1;Persist Secrety Info=FALSE;User ID='+ServerUsername+';Password='+ServerUserpwd+';'+
                                   'Initial Catalog='+CurrentZTName+';Data Source='+ServerAddress;
      DBM.DBConn.Open;
    except
      showmessage('not completed.');
    end;
  end;为什么每次提示都是恢复成功,但是数据库中的内容还是一变没变。重新运行程序,数据库中的数据也是老样子,根本没恢复。