IDataReader Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir veri kaynağında komut yürütülerek elde edilen sonuç kümelerinin yalnızca ileriye doğru bir veya daha fazla akışını okumanın bir aracıdır ve ilişkisel veritabanlarına erişen .NET veri sağlayıcıları tarafından uygulanır.
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
- Türetilmiş
- Uygulamalar
Örnekler
Aşağıdaki örnek, SqlConnection, SqlCommandve SqlDataReadertüretilmiş sınıfların örneklerini oluşturur. Örnek, verileri okuyup konsola yazar. Son olarak, örnek öğesini ve ardından öğesini SqlConnectionkapatırSqlDataReader.
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
Açıklamalar
IDataReader ve IDataRecord arabirimleri, devralan bir sınıfın bir DataReader
sınıf uygulamasına olanak sağlar ve bu da sonuç kümelerinin yalnızca ileriye doğru bir veya daha fazla akışını okumanın bir aracıdır. Sınıflar hakkında DataReader
daha fazla bilgi için bkz. DataReader Kullanarak Veri Alma.
Bir uygulama doğrudan arabirimin bir örneğini IDataReader oluşturmaz, ancak devralan IDataReaderbir sınıfın örneğini oluşturur.
Devralan IDataReader sınıfların devralınan üyeleri uygulaması ve genellikle sağlayıcıya özgü işlevler eklemek için ek üyeler tanımlaması gerekir.
Veriler okunurken başka bir işlem veya iş parçacığı tarafından bir sonuç kümesinde yapılan değişiklikler, uygulayan IDataReader
bir sınıfın kullanıcısı tarafından görülebilir. Ancak kesin davranış hem sağlayıcıya hem de zamanlamaya bağlıdır.
Uygulayanlara Notlar
.NET Framework veri sağlayıcıları arasında tutarlılığı artırmak için, devralan sınıfı Command biçiminde Prv
adlandırın. Burada Prv
belirli bir .NET Framework veri sağlayıcısı ad alanında tüm sınıflara verilen tekdüzen ön ektir. Örneğin, Sql
ad alanında System.Data.SqlClient
sınıfının ön ekidirSqlDataAdapter.
Kullanıcılar doğrudan bir DataReader
sınıfın örneğini oluşturmaz. Bunun yerine, nesnesinin DataReader
ExecuteReader
yöntemi Command
aracılığıyla örneği alır. Bu nedenle, oluşturucuları iç olarak işaretlemeniz DataReader
gerekir.
Özellikler
Depth |
Geçerli satır için iç içe yerleştirme derinliğini gösteren bir değer alır. |
FieldCount |
Geçerli satırdaki sütun sayısını alır. (Devralındığı yer: IDataRecord) |
IsClosed |
Veri okuyucunun kapalı olup olmadığını belirten bir değer alır. |
Item[Int32] |
Belirtilen dizinde bulunan sütunu alır. (Devralındığı yer: IDataRecord) |
Item[String] |
Belirtilen ada sahip sütunu alır. (Devralındığı yer: IDataRecord) |
RecordsAffected |
SQL deyiminin yürütülmesiyle değiştirilen, eklenen veya silinen satır sayısını alır. |
Yöntemler
Close() |
IDataReader Nesneyi kapatır. |
Dispose() |
Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir. (Devralındığı yer: IDisposable) |
GetBoolean(Int32) |
Belirtilen sütunun değerini Boole değeri olarak alır. (Devralındığı yer: IDataRecord) |
GetByte(Int32) |
Belirtilen sütunun 8 bit işaretsiz tamsayı değerini alır. (Devralındığı yer: IDataRecord) |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayarak bir dizi olarak bayt akışını okur. (Devralındığı yer: IDataRecord) |
GetChar(Int32) |
Belirtilen sütunun karakter değerini alır. (Devralındığı yer: IDataRecord) |
GetChars(Int32, Int64, Char[], Int32, Int32) |
Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayarak bir dizi olarak bir karakter akışı okur. (Devralındığı yer: IDataRecord) |
GetData(Int32) |
Belirtilen sütun sıralı için bir IDataReader döndürür. (Devralındığı yer: IDataRecord) |
GetDataTypeName(Int32) |
Belirtilen alan için veri türü bilgilerini alır. (Devralındığı yer: IDataRecord) |
GetDateTime(Int32) |
Belirtilen alanın tarih ve saat veri değerini alır. (Devralındığı yer: IDataRecord) |
GetDecimal(Int32) |
Belirtilen alanın sabit konumlu sayısal değerini alır. (Devralındığı yer: IDataRecord) |
GetDouble(Int32) |
Belirtilen alanın çift duyarlıklı kayan nokta sayısını alır. (Devralındığı yer: IDataRecord) |
GetFieldType(Int32) |
Type'den GetValue(Int32)döndürülecek türüne Object karşılık gelen bilgileri alır. (Devralındığı yer: IDataRecord) |
GetFloat(Int32) |
Belirtilen alanın tek duyarlıklı kayan nokta sayısını alır. (Devralındığı yer: IDataRecord) |
GetGuid(Int32) |
Belirtilen alanın GUID değerini döndürür. (Devralındığı yer: IDataRecord) |
GetInt16(Int32) |
Belirtilen alanın 16 bit imzalı tamsayı değerini alır. (Devralındığı yer: IDataRecord) |
GetInt32(Int32) |
Belirtilen alanın 32 bit imzalı tamsayı değerini alır. (Devralındığı yer: IDataRecord) |
GetInt64(Int32) |
Belirtilen alanın 64 bit imzalı tamsayı değerini alır. (Devralındığı yer: IDataRecord) |
GetName(Int32) |
Bulunacak alanın adını alır. (Devralındığı yer: IDataRecord) |
GetOrdinal(String) |
Adlandırılmış alanın dizinini döndürür. (Devralındığı yer: IDataRecord) |
GetSchemaTable() |
sütun meta verilerini IDataReaderaçıklayan bir DataTable döndürür.
|
GetString(Int32) |
Belirtilen alanın dize değerini alır. (Devralındığı yer: IDataRecord) |
GetValue(Int32) |
Belirtilen alanın değerini döndürür. (Devralındığı yer: IDataRecord) |
GetValues(Object[]) |
Bir nesne dizisini geçerli kaydın sütun değerleriyle doldurur. (Devralındığı yer: IDataRecord) |
IsDBNull(Int32) |
Belirtilen alanın null olarak ayarlanıp ayarlanmadığını döndürür. (Devralındığı yer: IDataRecord) |
NextResult() |
Toplu SQL deyimlerinin sonuçlarını okurken veri okuyucuyu sonraki sonuca ilerler. |
Read() |
öğesini IDataReader sonraki kayda ilerler. |