Поделиться через


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

Полный URL-адрес папки для поиска. Чтобы вести поиск во всей базе данных сервера отчетов, укажите корневую папку (/).

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 (Out) ServerInfoHeaderValue
Необходимые разрешения Если поиск компонента не выполняется: ReadProperties

Возвращаются только элементы с соответствующим ReadProperties разрешением.

Длина Folder параметра не может превышать 260 символов. В противном случае создается исключение SOAP с кодом ошибки rsItemLengthExceeded.

Параметр Folder не может быть пустым или пустым или содержать следующие зарезервированные символы: : ? ; @ & = + $ , \ * > < | . ". Символ косой черты (/) можно использовать для разделения элементов в полном пути к папке, но его нельзя использовать в конце имени папки.

Сервер отчетов не поддерживает подстановочные знаки в середине условия поиска. К подстановочным знакам относятся % _, [, ], ^и -. Если присутствует подстановочный знак, сервер отчетов обрабатывает символ буквально.

В наборе условий поиска можно указать только один экземпляр имени свойства.

Функция FindItems поиска не учитывает регистр.

Приложения, использующие FindItems , как правило, принимают входные данные пользователя для определенных свойств и значений свойств. Доступные для поиска свойства: Name, Description, CreatedBy, CreationDate, ModifiedByи ModifiedDate. Возвращаемые элементы — это только те, для которых у пользователя есть Read Properties разрешение.

Применяется к