OleDbDataReader-Klasse

Bietet ein Verfahren für das Lesen eines Vorwärtsstreams von Datenzeilen aus einer Datenquelle. Diese Klasse kann nicht geerbt werden.

Namespace: System.Data.OleDb
Assembly: System.Data (in system.data.dll)

public sealed class OleDbDataReader : DbDataReader
public final class OleDbDataReader extends DbDataReader
public final class OleDbDataReader extends DbDataReader

Anstelle der direkten Verwendung eines Konstruktors müssen Sie zum Erstellen eines OleDbDataReader die ExecuteReader-Methode des OleDbCommand-Objekts aufrufen.

Während der Verwendung des OleDbDataReader ist die zugeordnete OleDbConnection durch den Informationsfluss für den OleDbDataReader belegt, sodass an der OleDbConnection keine anderen Operationen ausgeführt werden können, außer diese zu schließen. Dies gilt solange, bis die Close-Methode von OleDbDataReader aufgerufen wird. Sie können z. B. keine Ausgabeparameter abrufen, bis Sie Close aufgerufen haben.

Änderungen an einem Resultset, die während des Lesens der Daten durch einen anderen Prozess oder Thread vorgenommen werden, sind für Benutzer des OleDbDataReader möglicherweise sichtbar. Das genaue Verhalten ist jedoch zeitabhängig.

Die IsClosed-Eigenschaft und die RecordsAffected-Eigenschaft sind die einzigen Eigenschaften, die nach dem Schließen von OleDbDataReader aufgerufen werden können. Obwohl jederzeit auf die RecordsAffected-Eigenschaft zugegriffen werden kann, solange der OleDbDataReader vorhanden ist, sollten Sie immer zuerst Close aufrufen, bevor der Wert von RecordsAffected zurückgegeben wird, um einen korrekten Rückgabewert zu erhalten.

Im folgenden Beispiel werden eine OleDbConnection, ein OleDbCommand und ein OleDbDataReader erstellt. Im Beispiel werden die Daten gelesen und auf der Konsole ausgegeben. Abschließend wird im Beispiel der OleDbDataReader und danach die OleDbConnection geschlossen.

public static void ReadData(string connectionString, string queryString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader[0].ToString());
        }
        reader.Close();
    }
}

using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
        //string x = "Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=Northwind";
        //ReadData(x);
    }

    public static void ReadData(string connectionString, string queryString)
    {
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbCommand command = new OleDbCommand(queryString, connection);

            connection.Open();
            OleDbDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine(reader[0].ToString());
            }
            reader.Close();
        }
    }

System.Object
   System.MarshalByRefObject
     System.Data.Common.DbDataReader
      System.Data.OleDb.OleDbDataReader

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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
Anzeigen: