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 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.