Freigeben über


SqlDataReader.Read Methode

Definition

Setzt den SqlDataReader auf den nächsten Datensatz.

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.

Implementiert

Ausnahmen

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

Beispiele

Im folgenden Beispiel werden ein SqlConnection, und SqlCommandein SqlDataReadererstellt. Im Beispiel werden die Daten gelesen und in das Konsolenfenster geschrieben. Der Code schließt dann die SqlDataReader. Wird SqlConnection automatisch am Ende des Codeblocks using geschlossen.

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

}

Hinweise

Die Standardposition des der SqlDataReader steht vor dem ersten Datensatz. Daher müssen Sie aufrufen Read , um mit dem Zugriff auf Daten zu beginnen.

Es kann jeweils nur eine SqlDataReader pro zugeordneter SqlConnection Person geöffnet sein, und jeder Versuch, einen anderen zu öffnen, schlägt fehl, bis der erste geschlossen wird. Auf ähnliche Weise ist während der Verwendung von SqlDataReader die zugeordnete SqlConnection mit der Bereitstellung beschäftigt, bis Sie aufrufen Close.

Gilt für: