Implementare una classe DataReader per un'estensione per l'elaborazione dati

L'oggetto DataReader consente a un client di recuperare da un'origine dati un flusso di dati forward-only di sola lettura. I risultati vengono restituiti quando la query viene eseguita e vengono archiviati nel buffer di rete nel client fino a quando non vengono richiesti tramite il metodo Read della classe DataReader. Per creare una classe DataReader, implementare IDataReader e, facoltativamente, IDataReaderExtension. L'uso di un oggetto DataReader aumenta le prestazioni dell'applicazione recuperando i dati non appena sono disponibili, anziché attendere che vengano restituiti tutti i risultati della query e(per impostazione predefinita) archiviando una sola riga alla volta in memoria, riducendo il sovraccarico di sistema.

Dopo aver creato un'istanza della classe Command, è possibile creare l'oggetto DataReader chiamando Command.ExecuteReader per recuperare le righe dall'origine dati. L'implementazione di DataReader deve offrire due funzionalità di base, ovvero l'accesso forward-only ai set di risultati ottenuti eseguendo un comando e l'accesso ai tipi di colonna, ai nomi e ai valori all'interno di ogni riga. I client usano il metodo Read dell'oggetto DataReader per ottenere una riga dai risultati della query.

In Progettazione report, l'oggetto DataReader viene usato per recuperare un elenco di campi e informazioni sullo schema sul set di risultati. Questo recupero viene eseguito implementando i metodi GetName, GetValue, GetFieldType e GetOrdinal dell'interfaccia IDataReader .

L'interfaccia IDataReaderExtension consente di fornire informazioni di aggregazione specifiche per il set di risultati. Per un'implementazione di esempio della classe DataReader, vedere la pagina degli esempi del prodotto SQL Server Reporting Services.