Langue

ReportingService2005.FindItems Méthode

Définition

Retourne les éléments provenant d’une base de données serveur de rapports correspondant aux critères de recherche.

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

Paramètres

Folder
String

L’URL entièrement qualifiée du dossier pour rechercher. Pour rechercher dans toute la base de données du serveur de rapport, spécifiez le dossier racine (/).

BooleanOperator
BooleanOperatorEnum

L’opérateur logique appliqué pour connecter les conditions de recherche. Les valeurs possibles sont AND et OR. La valeur par défaut est AND.

Conditions
SearchCondition[]

Un tableau d’objets SearchCondition qui définit les noms et valeurs des propriétés à rechercher.

Retours

Un tableau d’objets CatalogItem dans la base de données du serveur de rapports correspondant aux critères de recherche spécifiés.

Exemples

Pour compiler cet exemple de code, vous devez référencer le WSDL de Reporting Services et importer certains espaces de noms. Pour plus d’informations, voir Exemples de compilation et exécution de code. L’exemple de code suivant recherche dans la base de données du serveur de rapports tous les rapports dont les noms contiennent le mot « Ventes » :

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

Remarques

Le tableau ci-dessous présente les informations sur l’en-tête et les autorisations concernant cette opération.

En-têtes SOAP (Dehors) ServerInfoHeaderValue
Autorisations requises Sinon, il s’agit d’une recherche de composantes : ReadProperties

Seuls les objets ayant la permission correspondante ReadProperties sont rendus.

La longueur du Folder paramètre ne peut pas dépasser 260 caractères ; sinon, une exception SOAP est lancée avec le code d’erreur rsItemLengthExceeded.

Le Folder paramètre ne peut pas être nul ou vide, ni contenir les caractères réservés suivants : : ? ; @ & = + $ , \ * > < | . ". Vous pouvez utiliser le caractère de barre oblique avant (/) pour séparer les éléments dans le nom complet du chemin, mais vous ne pouvez pas l’utiliser à la fin du nom du dossier.

Le serveur de rapport ne prend pas en charge les caractères jokers au milieu de la condition de recherche. Les caractères jokers incluent %, _, [, ], ^ et -. Si un personnage joker est présent, le serveur de rapports traite le personnage littéralement.

Une seule instance d’un nom de propriété peut être fournie dans l’ensemble des conditions de recherche.

La fonction de recherche de FindItems est insensible à la casse.

Les applications qui utilisent FindItems acceptent généralement les entrées de l’utilisateur pour des propriétés et des valeurs spécifiques de propriétés. Les propriétés consultables sont Name, Description, CreatedBy, CreationDate, ModifiedBy, et ModifiedDate. Les éléments retournés sont uniquement ceux pour lesquels l’utilisateur a la Read Properties permission.

S’applique à