SqlDataReader Kelas
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 cara membaca aliran baris khusus maju dari database SQL Server. Kelas ini tidak dapat diwariskan.
public ref class SqlDataReader : System::Data::Common::DbDataReader, IDisposable
public ref class SqlDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public ref class SqlDataReader : System::Data::Common::DbDataReader, System::Data::Common::IDbColumnSchemaGenerator
public class SqlDataReader : System.Data.Common.DbDataReader, IDisposable
public sealed class SqlDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
public class SqlDataReader : System.Data.Common.DbDataReader, System.Data.Common.IDbColumnSchemaGenerator
type SqlDataReader = class
inherit DbDataReader
interface IDisposable
type SqlDataReader = class
inherit MarshalByRefObject
interface IEnumerable
interface IDataReader
interface IDisposable
interface IDataRecord
type SqlDataReader = class
inherit DbDataReader
interface IDataReader
interface IDisposable
interface IDataRecord
type SqlDataReader = class
inherit DbDataReader
interface IDataReader
interface IDataRecord
interface IDisposable
interface IDbColumnSchemaGenerator
Public Class SqlDataReader
Inherits DbDataReader
Implements IDisposable
Public NotInheritable Class SqlDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
Public Class SqlDataReader
Inherits DbDataReader
Implements IDbColumnSchemaGenerator
- Warisan
- Warisan
- Warisan
- Penerapan
Contoh
Contoh berikut membuat SqlConnection, , SqlCommanddan SqlDataReader. Contohnya membaca data, menulisnya ke jendela konsol. Kode kemudian menutup SqlDataReader.
SqlConnection ditutup secara otomatis di akhir using
blok kode.
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
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]));
}
}
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim str As String = "Data Source=(local);Initial Catalog=Northwind;" _
& "Integrated Security=SSPI;"
ReadOrderData(str)
End Sub
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
End Module
Keterangan
Untuk membuat SqlDataReader, Anda harus memanggil ExecuteReader metode SqlCommand objek, alih-alih langsung menggunakan konstruktor.
SqlDataReader Saat sedang digunakan, yang terkait SqlConnection sibuk melayani SqlDataReader, dan tidak ada operasi lain yang dapat dilakukan selain SqlConnection menutupnya. Ini adalah kasus sampai Close metode dipanggil SqlDataReader . Misalnya, Anda tidak dapat mengambil parameter output hingga setelah Anda memanggil Close.
Perubahan yang dilakukan pada hasil yang ditetapkan oleh proses atau utas lain saat data sedang dibaca mungkin terlihat oleh pengguna SqlDataReader
. Namun, perilaku yang tepat tergantung pada waktunya.
IsClosed dan RecordsAffected adalah satu-satunya properti yang dapat Anda panggil setelah SqlDataReader ditutup. RecordsAffected Meskipun properti dapat diakses saat SqlDataReader ada, selalu panggil Close sebelum mengembalikan nilai RecordsAffected untuk menjamin nilai pengembalian yang akurat.
Saat menggunakan akses berurutan (CommandBehavior.SequentialAccess), InvalidOperationException akan dinaikkan jika SqlDataReader posisi ditingkatkan dan operasi baca lain dicoba pada kolom sebelumnya.
Catatan
Untuk performa optimal, SqlDataReader hindari membuat objek yang tidak perlu atau membuat salinan data yang tidak perlu. Oleh karena itu, beberapa panggilan ke metode seperti GetValue mengembalikan referensi ke objek yang sama. Berhati-hatilah jika Anda memodifikasi nilai yang mendasar dari objek yang dikembalikan oleh metode seperti GetValue.
Properti
Connection |
Mendapatkan yang SqlConnection terkait dengan SqlDataReader. |
Depth |
Mendapatkan nilai yang menunjukkan kedalaman bersarang untuk baris saat ini. |
FieldCount |
Mendapatkan jumlah kolom di baris saat ini. |
HasRows |
Mendapatkan nilai yang menunjukkan apakah SqlDataReader berisi satu atau beberapa baris. |
IsClosed |
Mengambil nilai Boolean yang menunjukkan apakah instans yang ditentukan SqlDataReader telah ditutup. |
Item[Int32] |
Mendapatkan nilai kolom yang ditentukan dalam format aslinya mengingat kolom ordinal. |
Item[String] |
Mendapatkan nilai kolom yang ditentukan dalam format aslinya dengan nama kolom. |
RecordsAffected |
Mendapatkan jumlah baris yang diubah, disisipkan, atau dihapus oleh eksekusi pernyataan Transact-SQL. |
VisibleFieldCount |
Mendapatkan jumlah bidang dalam SqlDataReader bidang yang tidak disembunyikan. |
Metode
Close() |
SqlDataReader Menutup objek . |
Close() |
DbDataReader Menutup objek . (Diperoleh dari DbDataReader) |
CloseAsync() |
Menutup objek secara DbDataReader asinkron. (Diperoleh dari DbDataReader) |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Dispose() |
Merilis semua sumber daya yang digunakan oleh instans DbDataReader kelas saat ini. (Diperoleh dari DbDataReader) |
Dispose(Boolean) |
Menyediakan cara membaca aliran baris khusus maju dari database SQL Server. Kelas ini tidak dapat diwariskan. |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh DbDataReader dan secara opsional merilis sumber daya terkelola. (Diperoleh dari DbDataReader) |
DisposeAsync() |
Secara asinkron merilis semua sumber daya yang digunakan oleh instans DbDataReader kelas saat ini. (Diperoleh dari DbDataReader) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetBoolean(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai Boolean. |
GetByte(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai byte. |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Membaca aliran byte dari offset kolom yang ditentukan ke dalam buffer array yang dimulai pada offset buffer yang diberikan. |
GetChar(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai satu karakter. |
GetChars(Int32, Int64, Char[], Int32, Int32) |
Membaca aliran karakter dari offset kolom yang ditentukan ke dalam buffer sebagai array yang dimulai pada offset buffer yang diberikan. |
GetColumnSchema() |
Mendapatkan koleksi skema kolom baca-saja. |
GetColumnSchemaAsync(CancellationToken) |
Ini adalah versi asinkron dari GetColumnSchema(DbDataReader).
Penyedia harus mengambil alih dengan implementasi yang sesuai.
|
GetData(Int32) |
Mengembalikan IDataReader untuk ordinal kolom yang ditentukan. |
GetData(Int32) |
Mengembalikan pembaca data berlapis untuk kolom yang diminta. (Diperoleh dari DbDataReader) |
GetDataTypeName(Int32) |
Mendapatkan string yang mewakili jenis data kolom yang ditentukan. |
GetDateTime(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai DateTime objek. |
GetDateTimeOffset(Int32) |
Mengambil nilai kolom yang ditentukan sebagai DateTimeOffset objek. |
GetDbDataReader(Int32) |
Mengembalikan DbDataReader objek untuk ordinal kolom yang diminta yang dapat ditimpa dengan implementasi khusus penyedia. (Diperoleh dari DbDataReader) |
GetDecimal(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai Decimal objek. |
GetDouble(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai angka titik mengambang presisi ganda. |
GetEnumerator() |
Mengembalikan IEnumerator yang berulang melalui SqlDataReader. |
GetFieldType(Int32) |
Type Mendapatkan yang merupakan jenis data objek. |
GetFieldValue<T>(Int32) |
Secara sinkron mendapatkan nilai kolom yang ditentukan sebagai jenis. GetFieldValueAsync<T>(Int32, CancellationToken) adalah versi asinkron dari metode ini. |
GetFieldValue<T>(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai jenis yang diminta. (Diperoleh dari DbDataReader) |
GetFieldValueAsync<T>(Int32) |
Secara asinkron mendapatkan nilai kolom yang ditentukan sebagai jenis yang diminta. (Diperoleh dari DbDataReader) |
GetFieldValueAsync<T>(Int32, CancellationToken) |
Secara asinkron mendapatkan nilai kolom yang ditentukan sebagai jenis. GetFieldValue<T>(Int32) adalah versi sinkron dari metode ini. |
GetFieldValueAsync<T>(Int32, CancellationToken) |
Secara asinkron mendapatkan nilai kolom yang ditentukan sebagai jenis yang diminta. (Diperoleh dari DbDataReader) |
GetFloat(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai angka titik floating presisi tunggal. |
GetGuid(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai pengidentifikasi unik global (GUID). |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetInt16(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai bilangan bulat bertanda tangan 16-bit. |
GetInt32(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai bilangan bulat bertanda tangan 32-bit. |
GetInt64(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai bilangan bulat bertanda tangan 64-bit. |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetName(Int32) |
Mendapatkan nama kolom yang ditentukan. |
GetOrdinal(String) |
Mendapatkan ordinal kolom, dengan nama kolom. |
GetProviderSpecificFieldType(Int32) |
Mendapatkan yang merupakan representasi dari jenis bidang khusus penyedia yang mendasar |
GetProviderSpecificValue(Int32) |
Mendapatkan yang merupakan representasi dari nilai spesifik penyedia yang mendasar |
GetProviderSpecificValues(Object[]) |
Mendapatkan array objek yang merupakan representasi dari nilai spesifik penyedia yang mendasar. |
GetSchemaTable() |
Mengembalikan yang DataTable menjelaskan metadata kolom dari SqlDataReader. |
GetSchemaTable() |
Mengembalikan yang DataTable menjelaskan metadata kolom dari DbDataReader.
Mengembalikan |
GetSchemaTableAsync(CancellationToken) |
Ini adalah versi asinkron dari GetSchemaTable().
Penyedia harus mengambil alih dengan implementasi yang sesuai.
|
GetSqlBinary(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlBinary. |
GetSqlBoolean(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlBoolean. |
GetSqlByte(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlByte. |
GetSqlBytes(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlBytes. |
GetSqlChars(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlChars. |
GetSqlDateTime(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlDateTime. |
GetSqlDecimal(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlDecimal. |
GetSqlDouble(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlDouble. |
GetSqlGuid(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlGuid. |
GetSqlInt16(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlInt16. |
GetSqlInt32(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlInt32. |
GetSqlInt64(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlInt64. |
GetSqlMoney(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlMoney. |
GetSqlSingle(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlSingle. |
GetSqlString(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai SqlString. |
GetSqlValue(Int32) |
Mengembalikan nilai data dalam kolom yang ditentukan sebagai jenis SQL Server. |
GetSqlValues(Object[]) |
Mengisi array Object yang berisi nilai untuk semua kolom dalam rekaman, yang dinyatakan sebagai jenis SQL Server. |
GetSqlXml(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai nilai XML. |
GetStream(Int32) |
Mengambil jenis data biner, gambar, varbinary, UDT, dan varian sebagai Stream. |
GetStream(Int32) |
Mendapatkan aliran untuk mengambil data dari kolom yang ditentukan. (Diperoleh dari DbDataReader) |
GetString(Int32) |
Mendapatkan nilai kolom yang ditentukan sebagai string. |
GetTextReader(Int32) |
Mengambil jenis data Char, NChar, NText, NVarChar, teks, varChar, dan Varian sebagai TextReader. |
GetTextReader(Int32) |
Mendapatkan pembaca teks untuk mengambil data dari kolom. (Diperoleh dari DbDataReader) |
GetTimeSpan(Int32) |
Mengambil nilai kolom yang ditentukan sebagai TimeSpan objek. |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
GetValue(Int32) |
Mendapatkan nilai kolom yang ditentukan dalam format aslinya. |
GetValues(Object[]) |
Mengisi array objek dengan nilai kolom baris saat ini. |
GetXmlReader(Int32) |
Mengambil data jenis XML sebagai XmlReader. |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
IsCommandBehavior(CommandBehavior) |
Menentukan apakah yang ditentukan CommandBehavior cocok dengan yang ada di SqlDataReader . |
IsDBNull(Int32) |
Mendapatkan nilai yang menunjukkan apakah kolom berisi nilai yang tidak ada atau hilang. |
IsDBNullAsync(Int32) |
Secara asinkron mendapatkan nilai yang menunjukkan apakah kolom berisi nilai yang tidak ada atau hilang. (Diperoleh dari DbDataReader) |
IsDBNullAsync(Int32, CancellationToken) |
Versi asinkron , IsDBNull(Int32)yang mendapatkan nilai yang menunjukkan apakah kolom berisi nilai yang tidak ada atau hilang. Token pembatalan dapat digunakan untuk meminta agar operasi ditinggalkan sebelum batas waktu perintah berlalu. Pengecualian akan dilaporkan melalui objek Tugas yang dikembalikan. |
IsDBNullAsync(Int32, CancellationToken) |
Secara asinkron mendapatkan nilai yang menunjukkan apakah kolom berisi nilai yang tidak ada atau hilang. (Diperoleh dari DbDataReader) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
NextResult() |
Memajukan pembaca data ke hasil berikutnya, saat membaca hasil pernyataan Transact-SQL batch. |
NextResultAsync() |
Secara asinkron memajukan pembaca ke hasil berikutnya saat membaca hasil batch pernyataan. (Diperoleh dari DbDataReader) |
NextResultAsync(CancellationToken) |
Versi asinkron , NextResult()yang memajukan pembaca data ke hasil berikutnya, saat membaca hasil pernyataan Transact-SQL batch. Token pembatalan dapat digunakan untuk meminta agar operasi ditinggalkan sebelum batas waktu perintah berlalu. Pengecualian akan dilaporkan melalui objek Tugas yang dikembalikan. |
NextResultAsync(CancellationToken) |
Secara asinkron memajukan pembaca ke hasil berikutnya saat membaca hasil batch pernyataan. (Diperoleh dari DbDataReader) |
Read() |
Memajukan SqlDataReader ke rekaman berikutnya. |
ReadAsync() |
Secara asinkron memajukan pembaca ke rekaman berikutnya dalam kumpulan hasil. (Diperoleh dari DbDataReader) |
ReadAsync(CancellationToken) |
Versi asinkron dari Read(), yang memajukan SqlDataReader ke rekaman berikutnya. Token pembatalan dapat digunakan untuk meminta agar operasi ditinggalkan sebelum batas waktu perintah berlalu. Pengecualian akan dilaporkan melalui objek Tugas yang dikembalikan. |
ReadAsync(CancellationToken) |
Secara asinkron memajukan pembaca ke rekaman berikutnya dalam kumpulan hasil. (Diperoleh dari DbDataReader) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IDataReader.Close() |
Untuk deskripsi anggota ini, lihat Close(). (Diperoleh dari DbDataReader) |
IDataReader.GetSchemaTable() |
Untuk deskripsi anggota ini, lihat GetSchemaTable(). (Diperoleh dari DbDataReader) |
IDataRecord.GetData(Int32) |
Mengembalikan IDataReader untuk ordinal kolom yang ditentukan. |
IDataRecord.GetData(Int32) |
Untuk deskripsi anggota ini, lihat GetData(Int32). (Diperoleh dari DbDataReader) |
IDisposable.Dispose() |
Merilis semua sumber daya yang digunakan oleh pembaca data. |
IEnumerable.GetEnumerator() |
Mengembalikan enumerator yang dapat digunakan untuk melakukan iterasi melalui kumpulan item. |
Metode Ekstensi
CanGetColumnSchema(DbDataReader) |
Mendapatkan nilai yang menunjukkan apakah bisa DbDataReader mendapatkan skema kolom. |
GetColumnSchema(DbDataReader) |
Mendapatkan skema kolom (DbColumn koleksi) untuk DbDataReader. |
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis tertentu. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |