(0) exportieren Drucken
Alle erweitern

IDataReader-Schnittstelle

Stellt ein Verfahren zum Lesen eines oder mehrerer Vorwärtsstreams von Resultsets bereit, die durch Ausführen eines Befehls an einer Datenquelle erhalten wurden, und wird durch .NET Framework-Datenprovider implementiert, die auf relationale Datenbanken zugreifen.

Namespace: 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

Die IDataReader-Schnittstelle und die IDataRecord-Schnittstelle ermöglichen einer erbenden Klasse das Implementieren einer DataReader-Klasse, die ein Verfahren zum Lesen eines oder mehrerer Vorwärtsstreams von Resultsets bereitstellt. Weitere Informationen über DataReader-Klassen finden Sie unter Abrufen von Daten mit einem DataReader. Weitere Informationen über das Implementieren von .NET Framework-Datenanbietern finden Sie unter Implementing a .NET Framework Data Provider.

Eine Anwendung erstellt eine Instanz der IDataReader-Schnittstelle nicht direkt, sondern erstellt eine Instanz einer Klasse, die IDataReader erbt.

Klassen, die IDataReader erben, müssen die geerbten Member implementieren. Sie definieren i. d. R. zusätzliche Member, um anbieterspezifische Funktionen hinzuzufügen.

Änderungen an einem Resultset, die während des Lesens von Daten durch einen anderen Prozess oder Thread vorgenommen wurden, sind für Benutzer einer Klasse, die einen IDataReader implementiert, möglicherweise sichtbar. Das genaue Verhalten ist jedoch abhängig von Provider und Zeitpunkt.

Hinweise für Implementierer Benennen Sie zur Förderung der Konsistenz unter den .NET Framework-Datenprovidern die erbende Klasse in der Form Prv Befehl, wobei Prv das einheitliche Präfix für alle Klassen in einem bestimmten Namespace von .NET Framework-Datenprovidern ist. Sql ist z. B. das Präfix der SqlDataAdapter-Klasse im System.Data.SqlClient-Namespace. Benutzer erstellen eine Instanz einer DataReader-Klasse nicht direkt. Stattdessen wird der DataReader über die ExecuteReader-Methode des Command-Objekts abgerufen. Deshalb müssen Sie DataReader-Konstruktoren als intern kennzeichnen.

Im folgenden Beispiel werden Instanzen der abgeleiteten Klassen SqlConnection, SqlCommand und SqlDataReader erstellt. Im Beispiel werden die Daten gelesen und in der Konsole ausgegeben. Abschließend wird im Beispiel die SqlDataReader-Klasse und danach die SqlConnection-Klasse geschlossen.

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 für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0
Anzeigen:
© 2014 Microsoft