Share via


SqlCommand.ExecuteReader Metode

Definisi

CommandText Mengirim ke Connection dan membangun SqlDataReader.

Overload

ExecuteReader()

CommandText Mengirim ke Connection dan membangun SqlDataReader.

ExecuteReader(CommandBehavior)

CommandText Mengirim ke Connection, dan membangun SqlDataReader menggunakan salah CommandBehavior satu nilai.

ExecuteReader()

CommandText Mengirim ke Connection dan membangun 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

Mengembalikan

Objek SqlDataReader.

Pengecualian

Selain SqlDbTypeBiner atau VarBinary digunakan ketika Value diatur ke Stream. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

-atau-

Selain SqlDbTypeChar, NChar, NVarChar, VarChar, atau Xml digunakan saat Value diatur ke TextReader.

-atau-

Selain SqlDbTypeXml digunakan ketika Value diatur ke XmlReader.

Terjadi pengecualian saat menjalankan perintah terhadap baris terkunci. Pengecualian ini tidak dihasilkan saat Anda menggunakan Microsoft .NET Framework versi 1.0.

-atau-

Waktu habis terjadi selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Status sambungan saat ini ditutup. ExecuteReader() membutuhkan terbuka SqlConnection.

-atau-

Ditutup SqlConnection atau dihilangkan selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Terjadi kesalahan dalam Streamobjek , XmlReader atau TextReader selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Objek Stream, XmlReader atau TextReader ditutup selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Contoh

Contoh berikut membuat SqlCommand, lalu menjalankannya dengan meneruskan string yang merupakan pernyataan T-SQL SELECT, dan string yang digunakan untuk menyambungkan ke sumber data.

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

Keterangan

CommandType Ketika properti diatur ke StoredProcedure, CommandText properti harus diatur ke nama prosedur tersimpan. Perintah menjalankan prosedur tersimpan ini saat Anda memanggil ExecuteReader.

Catatan

Jika transaksi mengalami kebuntuan, pengecualian mungkin tidak dilemparkan sampai Read dipanggil.

Fitur beberapa tataan hasil aktif (MARS) memungkinkan beberapa tindakan menggunakan koneksi yang sama.

Jika Anda menggunakan ExecuteReader atau BeginExecuteReader untuk mengakses data XML, SQL Server akan mengembalikan hasil XML apa pun yang panjangnya lebih dari 2.033 karakter dalam beberapa baris masing-masing 2.033 karakter. Untuk menghindari perilaku ini, gunakan ExecuteXmlReader atau BeginExecuteXmlReader untuk membaca kueri XML FOR.

Lihat juga

Berlaku untuk

ExecuteReader(CommandBehavior)

CommandText Mengirim ke Connection, dan membangun SqlDataReader menggunakan salah CommandBehavior satu nilai.

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

Parameter

behavior
CommandBehavior

Salah CommandBehavior satu nilai.

Mengembalikan

Objek SqlDataReader.

Pengecualian

Selain SqlDbTypeBiner atau VarBinary digunakan ketika Value diatur ke Stream. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

-atau-

Selain SqlDbTypeChar, NChar, NVarChar, VarChar, atau Xml digunakan saat Value diatur ke TextReader.

-atau-

Selain SqlDbTypeXml digunakan ketika Value diatur ke XmlReader.

Waktu habis terjadi selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Terjadi kesalahan dalam Streamobjek , XmlReader atau TextReader selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Ditutup SqlConnection atau dihilangkan selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Objek Stream, XmlReader atau TextReader ditutup selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Contoh

Contoh berikut membuat SqlCommand, lalu menjalankannya dengan meneruskan string yang merupakan pernyataan T-SQL SELECT, dan string yang digunakan untuk menyambungkan ke sumber data. CommandBehavior diatur ke CloseConnection.

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

Keterangan

CommandType Ketika properti diatur ke StoredProcedure, CommandText properti harus diatur ke nama prosedur tersimpan. Perintah menjalankan prosedur tersimpan ini saat Anda memanggil ExecuteReader.

Catatan

Gunakan SequentialAccess untuk mengambil nilai besar dan data biner. Jika tidak, OutOfMemoryException mungkin terjadi dan koneksi akan ditutup.

Fitur beberapa tataan hasil aktif (MARS) memungkinkan beberapa tindakan menggunakan koneksi yang sama.

Jika Anda menggunakan ExecuteReader atau BeginExecuteReader untuk mengakses data XML, SQL Server akan mengembalikan hasil XML apa pun yang panjangnya lebih dari 2.033 karakter dalam beberapa baris masing-masing 2.033 karakter. Untuk menghindari perilaku ini, gunakan ExecuteXmlReader atau BeginExecuteXmlReader untuk membaca kueri XML FOR.

Lihat juga

Berlaku untuk