SqlDataReader.Read Methode

Definition

Wechselt zum SqlDataReader nächsten Datensatz.

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

Gibt zurück

true wenn mehr Zeilen vorhanden sind; andernfalls false.

Implementiert

Ausnahmen

SQL Server beim Ausführen des Befehlstexts einen Fehler zurückgegeben.

Beispiele

Im folgenden Beispiel wird ein SqlConnection, a SqlCommandund a SqlDataReader. Im Beispiel werden die Daten gelesen und in das Konsolenfenster geschrieben. Der Code schließt dann die SqlDataReader. Dies SqlConnection wird automatisch am Ende des using Codeblocks 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())
        {
            ReadSingleRow((IDataRecord)reader);
        }

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

private static void ReadSingleRow(IDataRecord dataRecord)
{
    Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
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

Hinweise

Die Standardposition des Elements SqlDataReader liegt vor dem ersten Datensatz. Daher müssen Sie aufrufen Read , um mit dem Zugriff auf daten zu beginnen.

Nur eine SqlDataReader pro zugeordnete SqlConnection Person kann gleichzeitig geöffnet sein, und jeder Versuch, eine andere zu öffnen, schlägt fehl, bis der erste geschlossen wird. In ähnlicher Weise wird die zugeordnete SqlConnection Datei während der SqlDataReader Verwendung ausgelastet, bis Sie anrufenClose.

Gilt für:

Weitere Informationen