SqlCommand.ExecuteReader Metódus

Definíció

Elküldi a CommandText elemet a Connection következőnek, és létrehoz egy SqlDataReader.

Túlterhelések

Name Description
ExecuteReader()

Elküldi a CommandText elemet a Connection következőnek, és létrehoz egy SqlDataReader.

ExecuteReader(CommandBehavior)

Elküldi a CommandText elemet a Connection, és létrehoz egy SqlDataReader értéket az CommandBehavior egyik érték használatával.

ExecuteReader()

Forrás:
System.Data.SqlClient.notsupported.cs

Elküldi a CommandText elemet a Connection következőnek, és létrehoz egy SqlDataReader.

public:
 System::Data::SqlClient::SqlDataReader ^ ExecuteReader();
public System.Data.SqlClient.SqlDataReader ExecuteReader();
override this.ExecuteReader : unit -> System.Data.SqlClient.SqlDataReader
member this.ExecuteReader : unit -> System.Data.SqlClient.SqlDataReader
Public Function ExecuteReader () As SqlDataReader

Válaszok

Egy SqlDataReader objektum.

Kivételek

A SqlDbTypebináristól vagy a VarBinarytól eltérő függvényt használt a rendszer, amikor Value a beállítás értéke Stream. A streamelésről további információt az SqlClient streamelési támogatásában talál.

-vagy-

A SqlDbTypechar, NChar, NVarChar, VarChar vagy Xml kivételével más is használható volt a beállításnál ValueTextReader.

-vagy-

Az SqlDbTypeXml-fájltól eltérő érték lett használva a ValuebeállításkorXmlReader.

Kivétel történt a parancs zárolt soron való végrehajtása során. Ez a kivétel nem jön létre Microsoft .NET Framework 1.0-s verziójának használatakor.

-vagy-

Időtúllépés történt egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

A kapcsolat aktuális állapota le van zárva. ExecuteReader() a megnyitását SqlConnectionigényli.

-vagy-

A SqlConnection streamelési művelet során bezárt vagy elvetett. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Hiba történt egy Stream, XmlReader vagy TextReader objektumban egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Az Stream, XmlReader vagy TextReader objektum egy streamelési művelet során lett bezárva. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Példák

Az alábbi példa létrehoz egy SqlCommand, majd végrehajtja egy Transact-SQL SELECT utasítást tartalmazó sztring és egy adatforráshoz való csatlakozáshoz használandó sztring átadásával.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        connection.Open();

        SqlCommand command = new SqlCommand(queryString, connection);
        using(SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}", reader[0]));
            }
        }
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()

        Dim command As New SqlCommand(queryString, connection)
        Dim reader As SqlDataReader = command.ExecuteReader()
        Try
            While reader.Read()
                Console.WriteLine("{0}", reader(0))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

Megjegyzések

CommandType A tulajdonság beállításakor StoredProcedurea tulajdonságot a CommandText tárolt eljárás nevére kell állítani. A parancs a híváskor ExecuteReadervégrehajtja ezt a tárolt eljárást.

Note

Ha egy tranzakció holtpontra van adva, előfordulhat, hogy a rendszer csak a meghívásig Read ad kivételt.

A több aktív eredményhalmaz (MARS) funkció több műveletet is lehetővé tesz ugyanazzal a kapcsolattal.

Ha ExecuteReader vagy BeginExecuteReader használatával fér hozzá az XML-adatokhoz, SQL Server minden 2033 karakternél hosszabb XML-eredményt ad vissza 2033 karakternél hosszabb sorokban, egyenként 2033 karakter hosszúságú sorokban. Ennek a viselkedésnek a elkerülése érdekében használja ExecuteXmlReader vagy BeginExecuteXmlReader olvassa el a FOR XML-lekérdezéseket.

Lásd még

A következőre érvényes:

ExecuteReader(CommandBehavior)

Forrás:
System.Data.SqlClient.notsupported.cs

Elküldi a CommandText elemet a Connection, és létrehoz egy SqlDataReader értéket az CommandBehavior egyik érték használatával.

public:
 System::Data::SqlClient::SqlDataReader ^ ExecuteReader(System::Data::CommandBehavior behavior);
public System.Data.SqlClient.SqlDataReader ExecuteReader(System.Data.CommandBehavior behavior);
override this.ExecuteReader : System.Data.CommandBehavior -> System.Data.SqlClient.SqlDataReader
member this.ExecuteReader : System.Data.CommandBehavior -> System.Data.SqlClient.SqlDataReader
Public Function ExecuteReader (behavior As CommandBehavior) As SqlDataReader

Paraméterek

behavior
CommandBehavior

Az egyik CommandBehavior érték.

Válaszok

Egy SqlDataReader objektum.

Kivételek

A SqlDbTypebináristól vagy a VarBinarytól eltérő függvényt használt a rendszer, amikor Value a beállítás értéke Stream. A streamelésről további információt az SqlClient streamelési támogatásában talál.

-vagy-

A SqlDbTypechar, NChar, NVarChar, VarChar vagy Xml kivételével más is használható volt a beállításnál ValueTextReader.

-vagy-

Az SqlDbTypeXml-fájltól eltérő érték lett használva a ValuebeállításkorXmlReader.

Időtúllépés történt egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Hiba történt egy Stream, XmlReader vagy TextReader objektumban egy streamelési művelet során. A streamelésről további információt az SqlClient streamelési támogatásában talál.

A SqlConnection streamelési művelet során bezárt vagy elvetett. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Az Stream, XmlReader vagy TextReader objektum egy streamelési művelet során lett bezárva. A streamelésről további információt az SqlClient streamelési támogatásában talál.

Példák

Az alábbi példa létrehoz egy SqlCommand, majd végrehajtja egy Transact-SQL SELECT utasítást tartalmazó sztring és egy adatforráshoz való csatlakozáshoz használandó sztring átadásával. CommandBehavior CloseConnectionértékre van állítva.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        connection.Open();
        using(SqlDataReader reader =
            command.ExecuteReader(CommandBehavior.CloseConnection))
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}", reader[0]));
            }
        }
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()
        Dim reader As SqlDataReader = _
            command.ExecuteReader(CommandBehavior.CloseConnection)
        Try
            While reader.Read()
                Console.WriteLine("{0}", reader(0))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

Megjegyzések

CommandType A tulajdonság beállításakor StoredProcedurea tulajdonságot a CommandText tárolt eljárás nevére kell állítani. A parancs a híváskor ExecuteReadervégrehajtja ezt a tárolt eljárást.

Note

Nagy értékek és bináris adatok lekérésére használható SequentialAccess . Ellenkező esetben előfordulhat, hogy egy OutOfMemoryException esemény lép fel, és a kapcsolat bezárul.

A több aktív eredményhalmaz (MARS) funkció több műveletet is lehetővé tesz ugyanazzal a kapcsolattal.

Ha ExecuteReader vagy BeginExecuteReader használatával fér hozzá az XML-adatokhoz, SQL Server minden 2033 karakternél hosszabb XML-eredményt ad vissza 2033 karakternél hosszabb sorokban, egyenként 2033 karakter hosszúságú sorokban. Ennek a viselkedésnek a elkerülése érdekében használja ExecuteXmlReader vagy BeginExecuteXmlReader olvassa el a FOR XML-lekérdezéseket.

Lásd még

A következőre érvényes: