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 DataReader
her 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 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 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 arabiriminin IDataRecord bir örneğini oluşturmaz, ancak devralan IDataRecordbir sınıfın örneğini oluşturur. Genellikle, nesnesinin ExecuteReader
yöntemi Command
aracılığıyla bir DataReader
alarak bunu yaparsınız.
Devralan IDataRecord sınıfların devralınan tüm üyeleri uygulaması ve genellikle sağlayıcıya özgü işlevsellik eklemek için ek üyeler tanımlaması gerekir.
bir DataReader
uygulayan 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 listelenmiştir ve alternatif türler parantez içindedir.
OLE DB türü | CLR türü |
---|---|
DBTYPE_BOOL | Int16 |
DBTYPE_BSTR | string |
DBTYPE_BYTES | bayt[] |
DBTYPE_CY | Ondalık |
DBTYPE_DATE | DateTime |
DBTYPE_DBDATE | DateTime |
DBTYPE_DBTIME | DateTime |
DBTYPE_DBTIMESTAMP | DateTime |
DBTYPE_DECIMAL | Ondalık |
DBTYPE_EMPTY | null |
DBTYPE_ERROR | Externalexception |
DBTYPE_FILETIME | DateTime |
DBTYPE_GUID | Guid |
DBTYPE_HCHAPTER | desteklenmiyor |
DBTYPE_I1 | SByte |
DBTYPE_I2 | Int16 |
DBTYPE_I4 | Int32 |
DBTYPE_I8 | Int64 |
DBTYPE_IDISPATCH | object |
DBTYPE_IUNKNOWN | object |
DBTYPE_NULL | Dbnull |
DBTYPE_NUMERIC | Ondalık |
DBTYPE_PROPVARIANT | object |
DBTYPE_R4 | Tek |
DBTYPE_R8 | Çift |
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 | object |
DBTYPE_VARNUMERIC | desteklenmiyor |
DBTYPE_WSTR | string |
Özellikler
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
GetBoolean(Int32) |
Belirtilen sütunun değerini Boole değeri 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 dizi olarak bayt akışını 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 GetValue(Int32)döndürülecek türüne Object karşılık gelen bilgileri alır. |
GetFloat(Int32) |
Belirtilen alanın tek duyarlıklı kayan nokta sayısını alır. |
GetGuid(Int32) |
Belirtilen alanın GUID değerini döndürür. |
GetInt16(Int32) |
Belirtilen alanın 16 bit işaretli tamsayı değerini alır. |
GetInt32(Int32) |
Belirtilen alanın 32 bit işaretli tamsayı değerini alır. |
GetInt64(Int32) |
Belirtilen alanın 64 bit işaretli 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. |