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 override bool Read ();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
Návraty
true
pokud existuje více řádků; jinak false
.
Implementuje
Výjimky
SQL Server při provádění textu příkazu vrátil chybu.
Příklady
Následující příklad vytvoří SqlConnection, SqlCommanda .SqlDataReader Příklad čte data a zapisuje je do okna konzoly. Kód pak zavře SqlDataReader. Objekt SqlConnection se automaticky zavře na konci using
bloku kódu.
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]));
}
}
Poznámky
Výchozí pozice je SqlDataReader před prvním záznamem. Proto musíte volat Read , abyste mohli začít přistupovat ke všem datům.
Najednou může být otevřen pouze jeden SqlDataReader
z přidružených SqlConnection a všechny pokusy o otevření jiného selžou, dokud se neuzavře první z nich. Podobně platí, že během SqlDataReader
používání je přidružená SqlConnection
služba zaneprázdněna jeho obsluhou, dokud nevoláte Close.