IDataReader Antarmuka
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.
Menyediakan sarana membaca satu atau beberapa aliran hasil khusus maju yang diperoleh dengan menjalankan perintah di sumber data, dan diimplementasikan oleh penyedia data .NET yang mengakses database relasional.
public interface class IDataReader : IDisposable, System::Data::IDataRecord
public interface IDataReader : IDisposable, System.Data.IDataRecord
type IDataReader = interface
interface IDataRecord
interface IDisposable
type IDataReader = interface
interface IDisposable
interface IDataRecord
Public Interface IDataReader
Implements IDataRecord, IDisposable
- Turunan
- Penerapan
Contoh
Contoh berikut membuat instans kelas turunan, , SqlConnection, SqlCommanddan SqlDataReader. Contohnya membaca data, menulisnya ke konsol. Akhirnya, contoh menutup SqlDataReader, lalu SqlConnection.
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord dataRecord)
{
Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
ReadSingleRow(CType(reader, IDataRecord))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Private Sub ReadSingleRow(ByVal record As IDataRecord)
Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))
End Sub
Keterangan
Antarmuka IDataReader dan IDataRecord memungkinkan kelas warisan untuk mengimplementasikan DataReader
kelas , yang menyediakan sarana untuk membaca satu atau beberapa aliran set hasil khusus maju. Untuk informasi selengkapnya tentang DataReader
kelas, lihat Mengambil Data Menggunakan DataReader.
Aplikasi tidak membuat instans IDataReader antarmuka secara langsung, tetapi membuat instans kelas yang mewarisi IDataReader.
Kelas yang mewarisi IDataReader harus menerapkan anggota yang diwariskan, dan biasanya menentukan anggota tambahan untuk menambahkan fungsionalitas khusus penyedia.
Perubahan yang dilakukan pada hasil yang ditetapkan oleh proses atau utas lain saat data sedang dibaca mungkin terlihat oleh pengguna kelas yang mengimplementasikan IDataReader
. Namun, perilaku yang tepat adalah penyedia dan waktu yang bergantung.
Catatan Bagi Implementer
Untuk mempromosikan konsistensi di antara penyedia data .NET Framework, beri nama kelas pewarisan dalam formulir Prv
Perintah di mana Prv
adalah awalan seragam yang diberikan kepada semua kelas di namespace layanan penyedia data .NET Framework tertentu. Misalnya, Sql
adalah awalan SqlDataAdapter kelas di System.Data.SqlClient
namespace layanan.
Pengguna tidak membuat instans kelas secara DataReader
langsung. Sebaliknya, mereka mendapatkan DataReader
instans melalui ExecuteReader
metode Command
objek . Oleh karena itu, Anda harus menandai DataReader
konstruktor sebagai internal.
Properti
Depth |
Mendapatkan nilai yang menunjukkan kedalaman bersarang untuk baris saat ini. |
FieldCount |
Mendapatkan jumlah kolom di baris saat ini. (Diperoleh dari IDataRecord) |
IsClosed |
Mendapatkan nilai yang menunjukkan apakah pembaca data ditutup. |
Item[Int32] |
Mendapatkan kolom yang terletak di indeks yang ditentukan. (Diperoleh dari IDataRecord) |
Item[String] |
Mendapatkan kolom dengan nama yang ditentukan. (Diperoleh dari IDataRecord) |
RecordsAffected |
Mendapatkan jumlah baris yang diubah, disisipkan, atau dihapus oleh eksekusi pernyataan SQL. |
Metode
Close() |
IDataReader Menutup Objek. |
Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola. (Diperoleh dari IDisposable) |
GetBoolean(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai Boolean. (Diperoleh dari IDataRecord) |
GetByte(Int32) |
Mendapatkan nilai bilangan bulat 8-bit yang tidak ditandatangani dari kolom yang ditentukan. (Diperoleh dari IDataRecord) |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Membaca aliran byte dari offset kolom yang ditentukan ke dalam buffer sebagai array, dimulai pada offset buffer yang diberikan. (Diperoleh dari IDataRecord) |
GetChar(Int32) |
Mendapatkan nilai karakter dari kolom yang ditentukan. (Diperoleh dari IDataRecord) |
GetChars(Int32, Int64, Char[], Int32, Int32) |
Membaca aliran karakter dari offset kolom yang ditentukan ke dalam buffer sebagai array, dimulai pada offset buffer yang diberikan. (Diperoleh dari IDataRecord) |
GetData(Int32) |
Mengembalikan IDataReader untuk ordinal kolom yang ditentukan. (Diperoleh dari IDataRecord) |
GetDataTypeName(Int32) |
Mendapatkan informasi jenis data untuk bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetDateTime(Int32) |
Mendapatkan nilai data tanggal dan waktu dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetDecimal(Int32) |
Mendapatkan nilai numerik posisi tetap dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetDouble(Int32) |
Mendapatkan jumlah titik mengambang presisi ganda dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetFieldType(Int32) |
Mendapatkan informasi yang Type sesuai dengan jenis Object yang akan dikembalikan dari GetValue(Int32). (Diperoleh dari IDataRecord) |
GetFloat(Int32) |
Mendapatkan jumlah titik mengambang presisi tunggal dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetGuid(Int32) |
Mengembalikan nilai GUID dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetInt16(Int32) |
Mendapatkan nilai bilangan bulat bertanda 16-bit dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetInt32(Int32) |
Mendapatkan nilai bilangan bulat bertanda 32-bit dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetInt64(Int32) |
Mendapatkan nilai bilangan bulat bertanda 64-bit dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetName(Int32) |
Mendapatkan nama untuk bidang yang akan ditemukan. (Diperoleh dari IDataRecord) |
GetOrdinal(String) |
Mengembalikan indeks bidang bernama. (Diperoleh dari IDataRecord) |
GetSchemaTable() |
Mengembalikan yang DataTable menjelaskan metadata kolom dari IDataReader. Mengembalikan |
GetString(Int32) |
Mendapatkan nilai string dari bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetValue(Int32) |
Mengembalikan nilai bidang yang ditentukan. (Diperoleh dari IDataRecord) |
GetValues(Object[]) |
Mengisi array objek dengan nilai kolom rekaman saat ini. (Diperoleh dari IDataRecord) |
IsDBNull(Int32) |
Mengembalikan apakah bidang yang ditentukan diatur ke null. (Diperoleh dari IDataRecord) |
NextResult() |
Memajukan pembaca data ke hasil berikutnya, saat membaca hasil pernyataan SQL batch. |
Read() |
Memajukan IDataReader ke rekaman berikutnya. |