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.
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:
Microsoft::Data::SqlClient::SqlDataReader ^ ExecuteReader();
public Microsoft.Data.SqlClient.SqlDataReader ExecuteReader ();
override this.ExecuteReader : unit -> Microsoft.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()memerlukan .SqlConnection
-atau-
Ditutup SqlConnection atau dihilangkan selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.
Terjadi kesalahan dalam Stream objek , 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 akan digunakan untuk menyambungkan ke sumber data.
// <Snippet1>
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]));
}
}
}
// </Snippet1>
}
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 hingga 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 lebih besar dari 2.033 karakter dalam beberapa baris masing-masing 2.033 karakter. Untuk menghindari perilaku ini, gunakan ExecuteXmlReader atau BeginExecuteXmlReader untuk membaca kueri XML.
Berlaku untuk
ExecuteReader(CommandBehavior)
CommandText Mengirim ke Connection , dan membangun SqlDataReader menggunakan salah CommandBehavior satu nilai.
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
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 Stream objek , 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 akan digunakan untuk menyambungkan ke sumber data. CommandBehavior diatur ke 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]));
}
}
}
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 lebih besar dari 2.033 karakter dalam beberapa baris masing-masing 2.033 karakter. Untuk menghindari perilaku ini, gunakan ExecuteXmlReader atau BeginExecuteXmlReader untuk membaca kueri XML.