SqlDataReader.Read Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
SqlDataReader Przechodzi do następnego rekordu.
public:
override bool Read();
public:
virtual bool Read();
public override bool Read();
public bool Read();
override this.Read : unit -> bool
abstract member Read : unit -> bool
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
Public Function Read () As Boolean
Zwraca
true jeśli jest więcej wierszy; w przeciwnym razie false.
Implementuje
Wyjątki
SQL Server zwrócił błąd podczas wykonywania tekstu polecenia.
Przykłady
Poniższy przykład tworzy obiekt SqlConnection, , SqlCommandi SqlDataReader. Przykład odczytuje dane, zapisuj je w oknie konsoli. Następnie kod zamyka element SqlDataReader. Element SqlConnection jest zamykany automatycznie na końcu using bloku kodu.
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
Uwagi
Domyślna pozycja obiektu SqlDataReader znajduje się przed pierwszym rekordem. W związku z tym należy wywołać metodę Read , aby rozpocząć uzyskiwanie dostępu do dowolnych danych.
Tylko jedna SqlDataReader skojarzona SqlConnection może być otwarta w danym momencie, a każda próba otwarcia innego zakończy się niepowodzeniem, dopóki pierwszy z nich nie zostanie zamknięty. Podobnie, gdy SqlDataReader element jest używany, skojarzony SqlConnection jest zajęty obsługą go do momentu wywołania metody Close.