SqlCommand.ExecuteReader 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řetížení
| Name | Description |
|---|---|
| ExecuteReader() |
CommandText Odešle zprávu a Connection vytvoří .SqlDataReader |
| ExecuteReader(CommandBehavior) |
Odešle hodnotu do objektu CommandTextConnectiona vytvoří SqlDataReader jednu z CommandBehavior hodnot. |
ExecuteReader()
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
CommandText Odešle zprávu a Connection vytvoří .SqlDataReader
public:
Microsoft::Data::SqlClient::SqlDataReader ^ ExecuteReader();
public Microsoft.Data.SqlClient.SqlDataReader ExecuteReader();
override this.ExecuteReader : unit -> Microsoft.Data.SqlClient.SqlDataReader
Public Function ExecuteReader () As SqlDataReader
Návraty
Objekt SqlDataReader .
Výjimky
-
Jiný SqlDbType než
BinaryneboVarBinarybyl použit při Value nastavení Stream. Další informace o streamování najdete v tématu Podpora streamování SqlClient. -
Jiný SqlDbType než
Char, ,NChar,NVarCharVarCharneboXmlbyl použit při Value nastavení TextReader. -
Jiné SqlDbType , než
Xmlbylo použito při Value nastavení XmlReader.
- Při provádění příkazu na uzamčený řádek došlo k výjimce. Tato výjimka není generována při použití rozhraní Microsoft .NET Framework verze 1.0.
- Během operace streamování došlo k vypršení časového limitu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
- Aktuální stav připojení je uzavřen. ExecuteReader() vyžaduje otevřenou SqlConnection.
- Zavřený SqlConnection nebo ukončený během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Během operace streamování došlo k chybě nebo StreamXmlReaderTextReader objektu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Stream Objekt XmlReadernebo TextReader objekt byl uzavřen během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Příklady
Následující příklad vytvoří a SqlCommandpak ho spustí předáním řetězce, který je příkazem Transact-SQL SELECT, a řetězcem, který se použije pro připojení ke zdroji dat.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
string qs = "SELECT OrderID, CustomerID FROM dbo.Orders;";
CreateCommand(qs, str);
}
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(queryString, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
}
}
Poznámky
CommandType Pokud je vlastnost nastavena na StoredProcedure, CommandText vlastnost by měla být nastavena na název uložené procedury. Příkaz spustí tuto uloženou proceduru při volání ExecuteReader.
Note
Pokud je transakce zablokovaná, nemusí být vyvolána výjimka, dokud Read není volána.
Funkce více aktivních sad výsledků (MARS) umožňuje více akcí pomocí stejného připojení.
Pokud používáte ExecuteReader nebo BeginExecuteReader přistupujete k datům XML, VRÁTÍ SQL Server všechny výsledky XML větší než 2 033 znaků v několika řádcích o 2 033 znacích. Chcete-li se tomuto chování vyhnout, použijte ExecuteXmlReader nebo BeginExecuteXmlReader načtěte dotazy FOR XML.
Platí pro
ExecuteReader(CommandBehavior)
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
- Zdroj:
- SqlCommand.cs
Odešle hodnotu do objektu CommandTextConnectiona vytvoří SqlDataReader jednu z CommandBehavior hodnot.
public:
Microsoft::Data::SqlClient::SqlDataReader ^ ExecuteReader(System::Data::CommandBehavior behavior);
public Microsoft.Data.SqlClient.SqlDataReader ExecuteReader(System.Data.CommandBehavior behavior);
override this.ExecuteReader : System.Data.CommandBehavior -> Microsoft.Data.SqlClient.SqlDataReader
Public Function ExecuteReader (behavior As CommandBehavior) As SqlDataReader
Parametry
- behavior
- CommandBehavior
Jedna z CommandBehavior hodnot.
Návraty
Objekt SqlDataReader .
Výjimky
Během operace streamování došlo k vypršení časového limitu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Během operace streamování došlo k chybě nebo StreamXmlReaderTextReader objektu. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Zavřený SqlConnection nebo ukončený během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Stream Objekt XmlReadernebo TextReader objekt byl uzavřen během operace streamování. Další informace o streamování najdete v tématu Podpora streamování SqlClient.
Příklady
Následující příklad vytvoří a SqlCommandpak ho spustí předáním řetězce, který je příkazem Transact-SQL SELECT, a řetězcem, který se použije pro připojení ke zdroji dat. CommandBehavior je nastaveno na CloseConnection.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
string qs = "SELECT OrderID, CustomerID FROM dbo.Orders;";
CreateCommand(qs, str);
}
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader =
command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
}
}
}
Poznámky
CommandType Pokud je vlastnost nastavena na StoredProcedure, CommandText vlastnost by měla být nastavena na název uložené procedury. Příkaz spustí tuto uloženou proceduru při volání ExecuteReader.
Note
Slouží SequentialAccess k načtení velkých hodnot a binárních dat. V opačném případě může dojít k OutOfMemoryException, a připojení bude uzavřeno.
Funkce více aktivních sad výsledků (MARS) umožňuje více akcí pomocí stejného připojení.
Pokud používáte ExecuteReader nebo BeginExecuteReader přistupujete k datům XML, VRÁTÍ SQL Server všechny výsledky XML větší než 2 033 znaků v několika řádcích o 2 033 znacích. Chcete-li se tomuto chování vyhnout, použijte ExecuteXmlReader nebo BeginExecuteXmlReader načtěte dotazy FOR XML.