(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

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

Der IDataReader-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkDepthRuft einen Wert ab, der die Tiefe der Schachtelung für die aktuelle Zeile angibt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkFieldCountRuft die Anzahl der Spalten in der aktuellen Zeile ab. (Von IDataRecord geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkIsClosedRuft einen Wert ab, der angibt, ob der Datenreader geschlossen ist.
Öffentliche EigenschaftUnterstützt von XNA FrameworkItem[Int32]Ruft die Spalte ab, die sich am angegebenen Index befindet. (Von IDataRecord geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkItem[String]Ruft die Spalte mit dem angegebenen Namen ab. (Von IDataRecord geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkRecordsAffectedRuft die Anzahl der durch die Ausführung der SQL-Anweisung geänderten, eingefügten oder gelöschten Zeilen ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCloseSchließt das IDataReader-Objekt.
Öffentliche MethodeUnterstützt von XNA FrameworkDisposeFührt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurückgeben oder Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. (Von IDisposable geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetBooleanRuft den Wert der angegebenen Spalte als booleschen Wert ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetByteRuft den Wert der angegebenen Spalte als 8-Bit-Ganzzahl ohne Vorzeichen ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetBytesLiest beginnend am angegebenen Pufferoffset einen Stream von Bytes aus dem angegebenen Spaltenoffset als Array in den Puffer. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetCharRuft den Zeichenwert der angegebenen Spalte ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetCharsLiest beginnend am angegebenen Pufferoffset einen Stream von Zeichen aus dem angegebenen Spaltenoffset als Array in den Puffer. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetDataGibt ein IDataReader für die angegebene Ordnungszahl der Spalte. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetDataTypeNameRuft die Datentypinformationen für das angegebene Feld ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetDateTimeRuft den Datums- und Uhrzeitwert des angegebenen Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetDecimalRuft den numerischen Wert für die feste Position des angegebenen Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetDoubleRuft die Gleitkommazahl mit doppelter Genauigkeit des angegebenen Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetFieldTypeRuft die Type-Informationen ab, die dem Typ des Object entsprechen, das von GetValue zurückgegeben wird. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetFloatRuft die Gleitkommazahl mit einfacher Genauigkeit des angegebenen Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetGuidGibt den GUID-Wert des angegebenen Felds zurück. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetInt16Ruft den Wert des angegebenen Felds als 16-Bit-Ganzzahl mit Vorzeichen ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetInt32Ruft den Wert des angegebenen Felds als 32-Bit-Ganzzahl mit Vorzeichen ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetInt64Ruft den Wert des angegebenen Felds als 64-Bit-Ganzzahl mit Vorzeichen ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetNameRuft den Namen des zu suchenden Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetOrdinalZurückgeben des Indexes des benannten Felds. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetSchemaTableGibt eine DataTable zurück, die die Spaltenmetadaten der IDataReader-Klasse beschreibt.
Öffentliche MethodeUnterstützt von XNA FrameworkGetStringRuft den Zeichenfolgenwert des angegebenen Felds ab. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetValueZurückgeben des Werts des angegebenen Felds. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetValuesFüllt ein Array von Objekten mit den Spaltenwerten des aktuellen Datensatzes auf. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkIsDBNullGibt zurück, ob das angegebene Feld auf NULL festgelegt ist. (Von IDataRecord geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkNextResultSetzt den Datenreader beim Lesen der Ergebnisse von SQL-Batchanweisungen auf das nächste Ergebnis.
Öffentliche MethodeUnterstützt von XNA FrameworkReadSetzt den IDataReader auf den nächsten Datensatz.
Zum Seitenanfang

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.

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 zur Implementierung

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 die DataReader-Instanz über die ExecuteReader-Methode des Command-Objekts abgerufen. Deshalb sollten 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.


using System;
using System.Data;
using System.Data.SqlClient;


class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=SSPI";
        ReadOrderData(str);
    }

    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())
            {
                ReadSingleRow((IDataRecord)reader);
            }

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

    private static void ReadSingleRow(IDataRecord record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
    }

}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

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

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft