Esporta (0) Stampa
Espandi tutto

Interfaccia IDataReader

Fornisce un mezzo per leggere uno o più flussi forward-only dei gruppi di risultati ottenuti dall'esecuzione di un comando in un'origine dati ed è implementata dai provider di dati .NET Framework con accesso ai database relazionali.

Spazio dei nomi: System.Data
Assembly: System.Data (in system.data.dll)

public interface IDataReader : IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord

Le interfacce IDataReader e IDataRecord consentono a una classe che eredita di implementare una classe DataReader, con la quale è possibile leggere uno o più flussi forward-only dei gruppi di risultati. Per ulteriori informazioni sulle classi DataReader, vedere Recupero di dati mediante un DataReader. Per ulteriori informazioni sull'implementazione dei provider di dati .NET Framework, vedere Implementing a .NET Framework Data Provider.

Un'applicazione non crea un'istanza dell'interfaccia IDataReader in maniera diretta, bensì un'istanza di una classe che eredita IDataReader.

È necessario che le classi che ereditano IDataReader implementino i membri ereditati, e che in genere definiscano ulteriori membri per l'aggiunta di funzionalità specifiche del provider.

Le modifiche apportate a un gruppo di risultati da un altro processo o thread mentre i dati vengono letti possono essere visibili all'utente di una classe che implementa un'interfaccia IDataReader. Tuttavia, il comportamento preciso dipende sia dal provider che dalla temporizzazione.

Note per gli implementatori: Per aumentare il livello di uniformità tra i provider di dati .NET Framework, assegnare alla classe che eredita un nome con il formato Prv Command, dove Prv è il prefisso uniforme assegnato a tutte le classi in uno specifico spazio dei nomi del provider di dati .NET Framework. Sql ad esempio è il prefisso della classe SqlDataAdapter nello spazio dei nomi System.Data.SqlClient. Non è possibile creare un'istanza di una classe DataReader in maniera diretta. È invece possibile ottenere la classe DataReader attraverso il metodo ExecuteReader dell'oggetto Command. Pertanto, sarà necessario contrassegnare i costruttori DataReader come interni.

Nell'esempio seguente vengono create istanze delle classi derivate SqlConnection, SqlCommand e SqlDataReader. Nell'esempio i dati vengono letti e poi scritti nella console. Infine, vengono chiusi l'oggetto SqlDataReader e quindi l'oggetto SqlConnection.

private static void ReadOrderData(string connectionString)
{
    string queryString =
        "SELECT OrderID, CustomerID FROM dbo.Orders;";

    using (SqlConnection connection =
               new SqlConnection(connectionString))
    {
        SqlCommand command =
            new SqlCommand(queryString, connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        // Call Read before accessing data.
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}, {1}",
                reader[0], reader[1]));
        }

        // Call Close when done reading.
        reader.Close();
    }
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft