SqlDataReader.Read Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přejde na SqlDataReader další záznam.
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
Návraty
true
pokud je více řádků; jinak false
.
Implementuje
Výjimky
SQL Server vrátil chybu při provádění textu příkazu.
Příklady
Následující příklad vytvoří SqlConnection, SqlCommanda .SqlDataReader Příklad přečte data a zapíše je do okna konzoly. Kód pak zavře .SqlDataReader Objekt SqlConnection se automaticky zavře na konci using
bloku kódu.
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
Poznámky
Výchozí pozice je SqlDataReader před prvním záznamem. Proto musíte volat Read , abyste mohli začít přistupovat k datům.
Najednou může být otevřen pouze jeden SqlDataReader
z přidružených SqlConnection a jakýkoli pokus o otevření jiného selžou, dokud se nezavře první. Podobně platí, že zatímco SqlDataReader
se používá, přidružené SqlConnection
je zaneprázdněno jeho obsluhou, dokud nevoláte Close.