SqlCommand.ExecuteReader Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- Menyambungkan dan Mengambil Data di ADO.NET
- Menggunakan Penyedia Data .NET Framework untuk SQL Server
- Ringkasan ADO.NET