Compartir a través de


ReportingService2005.FindItems Método

Definición

Devuelve los elementos de una base de datos del servidor de informes que coinciden con los criterios de búsqueda.

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()

Parámetros

Folder
String

Dirección URL completa de la carpeta en la que se buscará. Para buscar en toda la base de datos del servidor de informes, especifique la carpeta raíz (/).

BooleanOperator
BooleanOperatorEnum

Operador lógico que se aplica para conectarse a las condiciones de búsqueda. Los valores posibles son AND y OR. El valor predeterminado es AND.

Conditions
SearchCondition[]

Matriz de objetos SearchCondition que define los nombres de propiedad y los valores que se buscarán.

Devoluciones

Matriz de objetos CatalogItem en la base de datos del servidor de informes que corresponden al criterio de búsqueda especificado.

Ejemplos

Para compilar este ejemplo de código, debe hacer referencia al Reporting Services WSDL e importar determinados espacios de nombres. Para obtener más información, vea Compilar y ejecutar ejemplos de código. En el ejemplo de código siguiente se busca en la base de datos del servidor de informes todos los informes cuyos nombres contengan la palabra "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() );   
      }  
   }  
}  

Comentarios

En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.

Encabezados SOAP (Out) ServerInfoHeaderValue
Permisos necesarios Si no es una búsqueda de componentes: ReadProperties

Solo se devuelven los elementos con el permiso correspondiente ReadProperties .

La longitud del Folder parámetro no puede superar los 260 caracteres; de lo contrario, se produce una excepción SOAP con el código de error rsItemLengthExceeded.

El Folder parámetro no puede ser nulo ni estar vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . ". Puede usar el carácter de barra diagonal (/) para separar los elementos del nombre de ruta de acceso completo de la carpeta, pero no puede usarlo al final del nombre de la carpeta.

El servidor de informes no admite caracteres comodín en medio de la condición de búsqueda. Los caracteres comodín incluyen %, _, [, ], ^y -. Si hay un carácter comodín presente, el servidor de informes trata el carácter literalmente.

Solo se puede proporcionar una instancia de un nombre de propiedad en el conjunto de condiciones de búsqueda.

La funcionalidad de búsqueda de no distingue mayúsculas de FindItems minúsculas.

Las aplicaciones que usan FindItems normalmente aceptan entradas de usuario para propiedades y valores de propiedad específicos. Las propiedades que se pueden buscar son Name, Description, CreatedBy, CreationDate, ModifiedByy ModifiedDate. Los elementos que se devuelven son solo los para los que un usuario tiene Read Properties permiso.

Se aplica a