IDataRecord 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.
için DataReaderher satırdaki sütun değerlerine erişim sağlar ve ilişkisel veritabanlarına erişen .NET veri sağlayıcıları tarafından uygulanır.
public interface class IDataRecord
public interface IDataRecord
type IDataRecord = interface
Public Interface IDataRecord
- Türetilmiş
Örnekler
Aşağıdaki örnek, SqlConnection, SqlCommandve SqlDataReadertüretilmiş sınıfların örneklerini oluşturur. Örnek, verileri okuyarak konsola yazar. Son olarak, örnek öğesini ve ardından öğesini SqlDataReaderkapatırSqlConnection.
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 tanır. Bu, sonuç kümelerinin yalnızca ileriye doğru bir veya daha fazla akışını okumanın bir yolunu sağlar. Sınıflar hakkında DataReader daha fazla bilgi için bkz. DataReader Kullanarak Veri Alma.
Uygulama doğrudan arabirimin IDataRecord bir örneğini oluşturmaz, ancak devralan IDataRecordbir sınıfın örneğini oluşturur. Bunu genellikle nesnesinin DataReader yöntemi ExecuteReader aracılığıyla bir Command elde ederek yaparsınız.
Devralan IDataRecord sınıfların devralınan tüm üyeleri uygulaması ve genellikle sağlayıcıya özgü işlevler eklemek için ek üyeler tanımlaması gerekir.
uygulayan DataReader sağlayıcıların ortak dil çalışma zamanı (CLR) türlerindeki verileri kullanıma sunmaları gerekir. CLR'ye dahil olmayan bazı türler için tür zorlaması tanımlanır. Bu değerlere CLR türleriyle uyumlu alternatif türler olarak erişilebilir. Örneğin, aşağıdaki tabloda OLE DB veri türlerinden CLR türlerine önerilen eşlemeler ve alternatif türler parantez içinde listelenmiştir.
| OLE DB türü | CLR türü |
|---|---|
| DBTYPE_BOOL | Int16 |
| DBTYPE_BSTR | String |
| DBTYPE_BYTES | byte[] |
| DBTYPE_CY | Decimal |
| DBTYPE_TARİH | DateTime |
| DBTYPE_DBDATE | DateTime |
| DBTYPE_DBTIME | DateTime |
| DBTYPE_DBTIMESTAMP | DateTime |
| DBTYPE_DECIMAL | Decimal |
| DBTYPE_EMPTY | sıfır |
| DBTYPE_ERROR | ExternalException (Harici İstisna) |
| DBTYPE_FILETIME | DateTime |
| DBTYPE_GUID (Evrensel Tekil Tanımlayıcı Türü) | Kılavuz |
| DBTYPE_HCHAPTER | desteklenmiyor |
| DBTYPE_I1 | SByte |
| DBTYPE_I2 | Int16 |
| DBTYPE_I4 | Int32 |
| DBTYPE_I8 | Int64 |
| DBTYPE_IDISPATCH | Obje |
| DBTYPE_IUNKNOWN | Obje |
| DBTYPE_NULL | Dbnull |
| DBTYPE_NUMERIC | Decimal |
| DBTYPE_PROPVARIANT | Obje |
| DBTYPE_R4 | Single |
| DBTYPE_R8 | Double |
| DBTYPE_STR | String |
| DBTYPE_UDT | desteklenmiyor |
| DBTYPE_UI1 | bayt (Int16) |
| DBTYPE_UI2 | UInt16 (Int32) |
| DBTYPE_UI4 | UInt32 (Int64) |
| DBTYPE_UI8 | UInt64 (Ondalık) |
| DBTYPE_VARIANT | Obje |
| DBTYPE_VARNUMERIC | desteklenmiyor |
| DBTYPE_WSTR | String |
Özellikler
| Name | Description |
|---|---|
| FieldCount |
Geçerli satırdaki sütun sayısını alır. |
| Item[Int32] |
Belirtilen dizinde bulunan sütunu alır. |
| Item[String] |
Belirtilen ada sahip sütunu alır. |
Yöntemler
| Name | Description |
|---|---|
| GetBoolean(Int32) |
Belirtilen sütunun değerini Boole olarak alır. |
| GetByte(Int32) |
Belirtilen sütunun 8 bit işaretsiz tamsayı değerini alır. |
| GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayarak bir bayt akışını dizi olarak okur. |
| GetChar(Int32) |
Belirtilen sütunun karakter değerini alır. |
| 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. |
| GetData(Int32) |
Belirtilen sütun sıralı için bir IDataReader döndürür. |
| GetDataTypeName(Int32) |
Belirtilen alan için veri türü bilgilerini alır. |
| GetDateTime(Int32) |
Belirtilen alanın tarih ve saat veri değerini alır. |
| GetDecimal(Int32) |
Belirtilen alanın sabit konumlu sayısal değerini alır. |
| GetDouble(Int32) |
Belirtilen alanın çift duyarlıklı kayan nokta sayısını alır. |
| GetFieldType(Int32) |
Type'den Objectdöndürülecek türüne GetValue(Int32) karşılık gelen bilgileri alır. |
| GetFloat(Int32) |
Belirtilen alanın tek duyarlıklı kayan nokta numarasını alır. |
| GetGuid(Int32) |
Belirtilen alanın GUID değerini döndürür. |
| GetInt16(Int32) |
Belirtilen alanın 16 bit imzalı tamsayı değerini alır. |
| GetInt32(Int32) |
Belirtilen alanın 32 bit imzalı tamsayı değerini alır. |
| GetInt64(Int32) |
Belirtilen alanın 64 bit imzalı tamsayı değerini alır. |
| GetName(Int32) |
Bulunacak alanın adını alır. |
| GetOrdinal(String) |
Adlandırılmış alanın dizinini döndürür. |
| GetString(Int32) |
Belirtilen alanın dize değerini alır. |
| GetValue(Int32) |
Belirtilen alanın değerini döndürür. |
| GetValues(Object[]) |
Bir nesne dizisini geçerli kaydın sütun değerleriyle doldurur. |
| IsDBNull(Int32) |
Belirtilen alanın null olarak ayarlanıp ayarlanmadığını döndürür. |