次の方法で共有


GetReportParameters メソッド

指定したレポートのレポート パラメーター プロパティを返します。GetReportParameters メソッドは、レポートのパラメーターで指定したパラメーター値を検証するために使用することもできます。

名前空間:  ReportService2005
アセンブリ:  ReportService2005 (ReportService2005.dll)

構文

'宣言
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportParameters", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function GetReportParameters ( _
    Report As String, _
    HistoryID As String, _
    ForRendering As Boolean, _
    Values As ParameterValue(), _
    Credentials As DataSourceCredentials() _
) As ReportParameter()
'使用
Dim instance As ReportingService2005
Dim Report As String
Dim HistoryID As String
Dim ForRendering As Boolean
Dim Values As ParameterValue()
Dim Credentials As DataSourceCredentials()
Dim returnValue As ReportParameter()

returnValue = instance.GetReportParameters(Report, _
    HistoryID, ForRendering, Values, _
    Credentials)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public ReportParameter[] GetReportParameters(
    string Report,
    string HistoryID,
    bool ForRendering,
    ParameterValue[] Values,
    DataSourceCredentials[] Credentials
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportParameters", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
public:
array<ReportParameter^>^ GetReportParameters(
    String^ Report, 
    String^ HistoryID, 
    bool ForRendering, 
    array<ParameterValue^>^ Values, 
    array<DataSourceCredentials^>^ Credentials
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
member GetReportParameters : 
        Report:string * 
        HistoryID:string * 
        ForRendering:bool * 
        Values:ParameterValue[] * 
        Credentials:DataSourceCredentials[] -> ReportParameter[] 
public function GetReportParameters(
    Report : String, 
    HistoryID : String, 
    ForRendering : boolean, 
    Values : ParameterValue[], 
    Credentials : DataSourceCredentials[]
) : ReportParameter[]

パラメーター

  • HistoryID
    型: System. . :: . .String
    レポート履歴スナップショットの ID です。レポート履歴スナップショットのパラメーター プロパティを取得するには、ForRendering パラメーターに値 true を設定します。レポート履歴スナップショットでないレポートのパラメーターを取得する場合は、値に nullNothingnullptrunitNULL 参照 (Visual Basic では Nothing) (Visual Basic では Nothing) を設定します。
  • ForRendering
    型: System. . :: . .Boolean
    パラメーター値をどのように使用するかを示す Boolean 式です。値 true が設定された場合、レポートの実行中に使用されたパラメーター データに基づくパラメーター プロパティが返されます。

戻り値

型: array<ReportService2005. . :: . .ReportParameter> [] () [] []
レポートのパラメーターの一覧を表す ReportParameter オブジェクトの配列です。

説明

レポートの実行設定が Snapshot の場合は、レポート履歴スナップショットが作成されたときに使用されたデータがパラメーター メタデータとして返されます。レポートの実行設定が Live の場合、返されるパラメーター メタデータは、指定したレポートに関連付けられたパラメーター データを表します。

HistoryID パラメーターに値を指定し、ForRendering パラメーターの値が true に設定されている場合、返されるパラメーター メタデータは、レポート履歴スナップショットが作成されたときに使用されたパラメーター データを表します。ForRendering が false に設定されている場合、HistoryID で指定した値は無視されます。ForRendering が false の場合、返されるパラメーター メタデータは、指定したレポートに現在関連付けられているパラメーター データを表します。

任意のパラメーター値がクエリに基づいており、クエリに基づいたパラメーターの有効な値の一覧を取得する場合は、ForRendering を true に設定します。また、クエリに基づいたパラメーターには、クエリ パラメーターを返すために必要なすべての資格情報を渡す必要があります。

GetReportParameters メソッドを使用してパラメーターを検証する場合は、Values パラメーターが必須です。

指定したレポートにレポート パラメーターが存在しない場合、空の ReportParameter 配列が返されます。

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。詳細については、「Compiling and Running Code Examples」を参照してください。次のコード例では、GetReportParameters メソッドを使用してレポートのパラメーター メタデータの一覧を取得し、次に各パラメーター名を表示します。

Imports System
Imports System.Web.Services.Protocols

Class Sample
   Public Shared Sub Main()
      Dim rs As New ReportingService2005()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials

      Dim report As String = "/SampleReports/Employee Sales Summary"
      Dim forRendering As Boolean = False
      Dim historyID As String = Nothing
      Dim values As ParameterValue() = Nothing
      Dim credentials As DataSourceCredentials() = Nothing
      Dim parameters As ReportParameter() = Nothing

      Try
         parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials)

         If Not (parameters Is Nothing) Then
            Dim rp As ReportParameter
            For Each rp In parameters
               Console.WriteLine("Name: {0}", rp.Name)
            Next rp
         End If

      Catch e As SoapException
         Console.WriteLine(e.Detail.InnerXml.ToString())
      End Try
   End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;

class Sample
{
   public static void Main()
   {
      ReportingService2005 rs = new ReportingService2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      string report = "/SampleReports/Employee Sales Summary";
      bool forRendering = false;
      string historyID = null;
      ParameterValue[] values = null;
      DataSourceCredentials[] credentials = null;
      ReportParameter[] parameters = null;

      try
      {
         parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials);

         if (parameters != null)
         {
            foreach (ReportParameter rp in parameters)
            {
               Console.WriteLine("Name: {0}", rp.Name);
            }
         }
      }

      catch (SoapException e)
      {
         Console.WriteLine(e.Detail.InnerXml.ToString()); 
      }
   }
}