語言

ReportingService2005.FindItems 方法

定義

從報告伺服器資料庫回傳符合搜尋條件的項目。

public:
 cli::array <ReportService2005::CatalogItem ^> ^ FindItems(System::String ^ Folder, ReportService2005::BooleanOperatorEnum BooleanOperator, cli::array <ReportService2005::SearchCondition ^> ^ Conditions);
public ReportService2005.CatalogItem[] FindItems(string Folder, ReportService2005.BooleanOperatorEnum BooleanOperator, ReportService2005.SearchCondition[] Conditions);
member this.FindItems : string * ReportService2005.BooleanOperatorEnum * ReportService2005.SearchCondition[] -> ReportService2005.CatalogItem[]
Public Function FindItems (Folder As String, BooleanOperator As BooleanOperatorEnum, Conditions As SearchCondition()) As CatalogItem()

參數

Folder
String

要搜尋資料夾的完整限定網址。 若要搜尋整個報告伺服器資料庫,請指定根目錄(/)。

BooleanOperator
BooleanOperatorEnum

用來連接搜尋條件的邏輯運算子。 可能的值為 AND 和 OR。 預設值為 AND。

Conditions
SearchCondition[]

一個定義要搜尋屬性名稱與值的物件陣列 SearchCondition 。

傳回

報告伺服器資料庫中對應特定搜尋條件的物件陣列 CatalogItem 。

範例

要編譯此程式碼範例,您必須參考 Reporting Services WSDL 並匯入特定命名空間。 欲了解更多資訊,請參閱編 譯與執行程式碼範例。 以下程式碼範例在報表伺服器資料庫中搜尋所有名稱包含「銷售」一詞的報表:

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 items As CatalogItem() = Nothing  
      Dim condition As New SearchCondition()  
      condition.Condition = ConditionEnum.Contains  
      condition.ConditionSpecified = True  
      condition.Name = "Name"  
      condition.Value = "Sales"  

      Dim conditions(0) As SearchCondition  
      conditions(0) = condition  

      Try  
         items = rs.FindItems("/", BooleanOperatorEnum.Or, conditions)  

         If Not (items Is Nothing) Then  
            Dim ci As CatalogItem  
            For Each ci In  items  
               Console.WriteLine("Item {0} found at {1}", ci.Name, ci.Path)  
            Next ci  
         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;  

      CatalogItem[] items = null;  
      SearchCondition condition = new SearchCondition();  
      condition.Condition = ConditionEnum.Contains;  
      condition.ConditionSpecified = true;  
      condition.Name = "Name";  
      condition.Value = "Sales";  

      SearchCondition[] conditions = new SearchCondition[1];  
      conditions[0] = condition;  

      try  
      {  
         items = rs.FindItems( "/", BooleanOperatorEnum.Or, conditions );  

         if ( items != null )  
         {  
            foreach ( CatalogItem ci in items)  
            {  
               Console.WriteLine( "Item {0} found at {1}", ci.Name, ci.Path );  
            }  
         }  
      }  

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

備註

下表顯示此操作的標頭與權限資訊。

SOAP 標頭 (出局) ServerInfoHeaderValue
必要權限 如果不是元件搜尋: ReadProperties

只有經過相應 ReadProperties 許可的物品才會被歸還。

參數長度 Folder 不得超過 260 個字元;否則會拋出帶有錯誤碼 rsItemLengthExceed 的 SOAP 例外。

Folder參數不能為空或空,或包含以下保留字元: : ? ; @ & = + $ , \ * > < | . "。 你可以用斜線字元(/)來分隔資料夾完整路徑名稱中的項目,但不能用在資料夾名稱的末尾。

報告伺服器不支援搜尋條件中間的通配字元。 萬用字元包括 %、_、[, ]、^ 和 -。 如果有萬用字元出現,報告伺服器會字面上處理該字元。

在搜尋條件集中,只能提供一個物業名稱的實例。

的 FindItems 搜尋功能不區分大小寫。

使用 的 FindItems 應用程式通常接受使用者對特定屬性和屬性值的輸入。 可搜尋的屬性為 Name、 Description、 ModifiedByCreatedByCreationDateModifiedDate和 。 被回傳的項目僅為使用者擁有 Read Properties 權限的項目。

適用於