ReportingService2005.FindItems Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne les éléments qui correspondent aux critères de recherche dans une base de données du serveur de rapports.
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
URL complète du dossier à rechercher. Pour effectuer une recherche dans l'intégralité de la base de données du serveur de rapports, spécifiez le dossier racine (/).
- BooleanOperator
- BooleanOperatorEnum
L'opérateur logique qui est appliqué pour connecter les conditions de recherche. Les valeurs possibles sont AND
et OR
. La valeur par défaut est AND
.
- Conditions
- SearchCondition[]
Tableau d'objets SearchCondition qui définit les noms et valeurs des propriétés à rechercher.
Retours
Tableau d'objets CatalogItem dans la base de données du serveur de rapports qui correspond aux critères de recherche spécifiés.
Exemples
Pour compiler cet exemple de code, vous devez référencer le Reporting Services WSDL et importer certains espaces de noms. Pour plus d’informations, consultez Compilation et exécution d’exemples 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 suivant présente les informations relatives aux en-têtes et aux autorisations sur cette opération.
En-têtes SOAP | (Out) ServerInfoHeaderValue |
Autorisations requises | Si ce n’est pas un composant, recherchez : ReadProperties Seuls les éléments disposant de l’autorisation respective ReadProperties sont retournés. |
La longueur du Folder
paramètre ne peut pas dépasser 260 caractères ; sinon, une exception SOAP est levée avec le code d’erreur rsItemLengthExceeded.
Le Folder
paramètre ne peut pas être null ou vide ou contenir les caractères réservés suivants : : ? ; @ & = + $ , \ * > < | . "
. Vous pouvez utiliser la barre oblique (/) pour séparer les éléments dans le nom complet du chemin d’accès du dossier, mais vous ne pouvez pas l’utiliser à la fin du nom du dossier.
Le serveur de rapports ne prend pas en charge les caractères génériques au milieu de la condition de recherche. Les caractères génériques incluent %, _, [, ], ^, et -. Si un caractère générique est présent, le serveur de rapports traite le caractère littéralement.
Une seule instance d’un nom de propriété peut être fournie dans l’ensemble des conditions de recherche.
La fonctionnalité de recherche de ne respecte pas la FindItems casse.
Les applications qui utilisent FindItems acceptent généralement l’entrée utilisateur pour des propriétés et des valeurs de propriété spécifiques. Les propriétés pouvant faire l’objet d’une recherche sont Name, CreatedByDescription, CreationDate, ModifiedBy, et ModifiedDate. Les éléments retournés sont uniquement ceux pour lesquels un utilisateur dispose d’une Read Properties
autorisation.