IDataReader Arabirim

Tanım

Bir veri kaynağında komut yürütülerek elde edilen bir veya daha fazla yalnızca ileriye doğru sonuç kümesi 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.

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

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.

Uygulama doğrudan arabiriminin IDataReader bir örneğini 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şlevsellik eklemek için ek üyeler tanımlaması gerekir.

Veriler okunurken başka bir işlem veya iş parçacığı tarafından ayarlanan bir sonuç kümesinde yapılan değişiklikler, uygulayan IDataReaderbir 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ı, belirli bir .NET Framework veri sağlayıcısı ad alanında tüm sınıflara verilen tekdüzen ön ek olan Command Prv biçiminde Prv adlandırın. Ö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 DataReaderExecuteReader 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ı gösteren 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()

Nesne'yi IDataReader 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 işaretli tamsayı değerini alır.

(Devralındığı yer: IDataRecord)
GetInt32(Int32)

Belirtilen alanın 32 bit işaretli tamsayı değerini alır.

(Devralındığı yer: IDataRecord)
GetInt64(Int32)

Belirtilen alanın 64 bit işaretli 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.

null Yürütülen komut sonuç kümesi döndürmediyse veya döndürdükten sonra NextResult() döndürürfalse.

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()

Batch SQL deyimlerinin sonuçlarını okurken veri okuyucuyu sonraki sonuca ilerletir.

Read()

öğesini IDataReader sonraki kayda ilerler.

Şunlara uygulanır