ReportingService2005.FindItems 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從報表伺服器資料庫中傳回符合搜尋準則的項目。
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
要搜尋之資料夾的完整 URL。 若要搜尋整個報表伺服器資料庫,請指定根資枓夾 (/)。
- BooleanOperator
- BooleanOperatorEnum
所套用的邏輯運算子,以便連接搜尋條件。 可能的值是 AND 和 OR。 預設值是 AND。
- Conditions
- SearchCondition[]
SearchCondition 物件的陣列,定義要搜尋的屬性名稱和值。
傳回
報表伺服器資料庫中對應於指定搜尋準則的 CatalogItem 物件陣列。
範例
若要編譯這個程式碼範例,您必須參考 Reporting Services WSDL 並匯入特定命名空間。 如需詳細資訊,請參閱 編譯和執行程式碼範例。 下列程式碼範例會在報表伺服器資料庫中搜尋名稱包含 "Sales" 這個字的所有報表:
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 標頭 | (Out) ServerInfoHeaderValue |
| 必要權限 | 如果不是元件搜尋: ReadProperties 只會傳回具有個別許可權的專案 ReadProperties 。 |
參數的長度 Folder 不能超過260個字元; 否則會擲回 SOAP 例外狀況,並傳回錯誤碼 rsItemLengthExceeded。
Folder參數不可為 null 或空白,或包含下列保留字元: : ? ; @ & = + $ , \ * > < | . " 。 您可以使用正斜線字元 (/) 將資料夾的完整路徑名稱中的專案分開,但不能在資料夾名稱的結尾使用它。
報表伺服器在搜尋條件的中間不支援萬用字元。 萬用字元包括%、_、[、]、^ 和-。 如果有萬用字元,則報表伺服器會將此字元視為字面。
在一組搜尋條件中,只能提供一個屬性名稱的實例。
的搜尋功能 FindItems 不區分大小寫。
使用的應用程式 FindItems 通常會接受使用者輸入的特定屬性和屬性值。 可搜尋的屬性為 Name 、、 Description CreatedBy 、 CreationDate 、 ModifiedBy 和 ModifiedDate 。 傳回的專案只是使用者具有許可權的專案 Read Properties 。