Lingua

ReportingService2005.FindItems Metodo

Definizione

Restituisce elementi da un database server di report che corrispondono ai criteri di ricerca.

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

Parametri

Folder
String

L'URL completamente qualificato della cartella per la ricerca. Per cercare nell'intero database del server di report, specifica la cartella radice (/).

BooleanOperator
BooleanOperatorEnum

L'operatore logico applicato per collegare le condizioni di ricerca. I valori possibili sono AND e OR. Il valore predefinito è AND.

Conditions
SearchCondition[]

Un array di SearchCondition oggetti che definisce i nomi e i valori delle proprietà per cui cercare.

Valori restituiti

Un array di CatalogItem oggetti nel database del server di report che corrispondono ai criteri di ricerca specificati.

Esempio

Per compilare questo esempio di codice, devi fare riferimento al WSDL di Reporting Services e importare determinati namespace. Per maggiori informazioni, vedi Compiling and Conducting Code Examples. Il seguente esempio di codice cerca nel database del server di report tutti i report i cui nomi contengono la parola "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() );   
      }  
   }  
}  

Commenti

La tabella sottostante mostra informazioni sull'intestazione e sui permessi di questa operazione.

Intestazioni SOAP (Fuori) ServerInfoHeaderValue
Autorizzazioni necessarie Se non è una ricerca per componenti: ReadProperties

Solo gli oggetti con il rispettivo ReadProperties permesso vengono restituiti.

La lunghezza del Folder parametro non può superare i 260 caratteri; altrimenti, viene lanciata un'eccezione SOAP con il codice di errore rsItemLengthExceeded.

Il Folder parametro non può essere nullo o vuoto né contenere i seguenti caratteri riservati: : ? ; @ & = + $ , \ * > < | . ". Puoi usare il carattere a barra avanzata (/) per separare gli elementi nel nome completo del percorso della cartella, ma non puoi usarlo alla fine del nome della cartella.

Il server di report non supporta i caratteri jolly nel mezzo della condizione di ricerca. I caratteri jolly includono %, _, [, ], ^ e -. Se è presente un personaggio jolly, il server di report tratta il personaggio letteralmente.

Solo un'istanza di nome di proprietà può essere fornita nell'insieme delle condizioni di ricerca.

La funzionalità di ricerca di FindItems è indistinta a maiuscole e minuscole.

Le applicazioni che utilizzano FindItems generalmente accettano input da parte dell'utente per proprietà e valori specifici. Le proprietà ricercabili sono Name, Description, CreatedBy, CreationDate, ModifiedBy, e ModifiedDate. Gli elementi restituiti sono solo quelli per i quali l'utente ha Read Properties il permesso.

Si applica a