Freigeben über


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)

Syntax

'Declaration
Public Interface IDataReader
    Inherits IDisposable, IDataRecord
'Usage
Dim instance As IDataReader
public interface IDataReader : IDisposable, IDataRecord
public interface class IDataReader : IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord

Hinweise

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.

Beispiel

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 Sub ReadOrderData(ByVal connectionString As String)
    Dim queryString As String = _
        "SELECT OrderID, CustomerID FROM dbo.Orders;"

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()

        Dim reader As SqlDataReader = command.ExecuteReader()

        ' Call Read before accessing data.
        While reader.Read()
            Console.WriteLine(String.Format("{0}, {1}", _
                reader(0), reader(1)))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub
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();
    }
}

Plattformen

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.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

IDataReader-Member
System.Data-Namespace