SqlDataReader.Read SqlDataReader.Read SqlDataReader.Read SqlDataReader.Read Method

Definition

Setzt den SqlDataReader auf den nächsten Datensatz.Advances the SqlDataReader to the next record.

public:
 override bool Read();
public override bool Read ();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean

Gibt zurück

true, wenn weitere Zeilen vorhanden sind, andernfalls false.true if there are more rows; otherwise false.

Implementiert

Ausnahmen

SQL Server hat beim Ausführen des Befehlstexts einen Fehler zurückgegeben.SQL Server returned an error while executing the command text.

Beispiele

Das folgende Beispiel erstellt eine SqlConnection, SqlCommand, und ein SqlDataReader.The following example creates a SqlConnection, a SqlCommand, and a SqlDataReader. Im Beispiel liest die Daten, Schreiben sie an das Konsolenfenster ausgibt.The example reads through the data, writing it out to the console window. Der Code schließt dann die SqlDataReader.The code then closes the SqlDataReader. Die SqlConnection wird automatisch geschlossen, am Ende der using Codeblock.The SqlConnection is closed automatically at the end of the using code block.

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]));
    }

}
Option Explicit On
Option Strict On

Imports System.Data
Imports System.Data.SqlClient

Module Module1

    Sub Main()
        Dim str As String = "Data Source=(local);Initial Catalog=Northwind;" _
       & "Integrated Security=SSPI;"
        ReadOrderData(str)
    End Sub

    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()
                ReadSingleRow(CType(reader, IDataRecord))
            End While

            ' Call Close when done reading.
            reader.Close()
        End Using
    End Sub

    Private Sub ReadSingleRow(ByVal record As IDataRecord)
       Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))

    End Sub

End Module

Hinweise

Die Standardposition des der SqlDataReader steht vor dem ersten Datensatz.The default position of the SqlDataReader is before the first record. Aus diesem Grund müssen Sie aufrufen Read um den Zugriff auf Daten zu beginnen.Therefore, you must call Read to begin accessing any data.

Nur ein SqlDataReader pro zugeordneter SqlConnection können gleichzeitig geöffnet sein, und jeder Versuch, öffnen Sie eine andere schlägt fehl, bis die erste Bedingung geschlossen wird.Only one SqlDataReader per associated SqlConnection may be open at a time, and any attempt to open another will fail until the first one is closed. Außerdem die SqlDataReader verwendet wird, zugeordneten SqlConnection Informationsfluss bis Aufruf Close.Similarly, while the SqlDataReader is being used, the associated SqlConnection is busy serving it until you call Close.

Gilt für:

Siehe auch