IDataReader Arabirim

Tanım

Bir veri kaynağında komut yürütülerek elde edilen bir veya daha fazla sonuç kümesi akışını okumanın yanı sıra ilişkisel veritabanlarına erişen .NET veri sağlayıcıları tarafından uygulanan bir yol sağlar.Provides a means of reading one or more forward-only streams of result sets obtained by executing a command at a data source, and is implemented by .NET data providers that access relational databases.

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, ve türetilmiş sınıflarının örneklerini oluşturur,, SqlConnection SqlCommand ve SqlDataReader .The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. Örnek, verileri kullanarak konsola yazarak verileri okur.The example reads through the data, writing it out to the console. Son olarak, örnek öğesini ve SqlDataReader ardından öğesini kapatır SqlConnection .Finally, the example closes the SqlDataReader, then the SqlConnection.

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 record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[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

IDataReaderVe IDataRecord arabirimleri, devralınan bir sınıfın bir DataReader veya daha fazla sonuç kümesi akışını okurken bir sınıf uygulamasına olanak sağlar.The IDataReader and IDataRecord interfaces allow an inheriting class to implement a DataReader class, which provides a means of reading one or more forward-only streams of result sets. Sınıflar hakkında daha fazla bilgi için DataReader bkz. DataReader kullanarak veri alma.For more information about DataReader classes, see Retrieving Data Using a DataReader.

Bir uygulama IDataReader doğrudan arabirim örneği oluşturmaz, ancak devralan bir sınıf örneği oluşturur IDataReader .An application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader.

Devralan sınıfların IDataReader devralınan üyeleri uygulaması gerekir ve sağlayıcıya özgü işlevselliği eklemek için genellikle ek Üyeler tanımlar.Classes that inherit IDataReader must implement the inherited members, and typically define additional members to add provider-specific functionality.

Başka bir işlem veya iş parçacığı tarafından bir sonuç kümesi tarafından yapılan değişiklikler, verileri okurken, uygulayan bir sınıfın kullanıcısına görünür olabilir IDataReader .Changes made to a result set by another process or thread while data is being read may be visible to the user of a class that implements an IDataReader. Ancak, kesin davranış hem sağlayıcı hem de zamanlamaya bağımlıdır.However, the precise behavior is both provider and timing dependent.

Uygulayanlara Notlar

.NET Framework veri sağlayıcıları arasında tutarlılığı yükseltmek için, devralınan sınıfı, Prv Prv belirli bir .NET Framework veri sağlayıcısı ad alanındaki tüm sınıflara verilen Tekdüzen ön eki olan form komutunda adlandırın.To promote consistency among .NET Framework data providers, name the inheriting class in the form Prv Command where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. Örneğin, Sql SqlDataAdapter ad alanındaki sınıfının önekidir System.Data.SqlClient .For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

Kullanıcılar doğrudan bir sınıf örneği oluşturmaz DataReader .Users do not create an instance of a DataReader class directly. Bunun yerine, DataReader örneği ExecuteReader nesnenin yöntemiyle alırlar Command .Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Bu nedenle, DataReader oluşturucuları iç olarak işaretlemelisiniz.Therefore, you should mark DataReader constructors as internal.

Özellikler

Depth

Geçerli satır için iç içe geçme derinliğini gösteren bir değer alır.Gets a value indicating the depth of nesting for the current row.

FieldCount

Geçerli satırdaki sütun sayısını alır.Gets the number of columns in the current row.

(Devralındığı yer: IDataRecord)
IsClosed

Veri okuyucunun kapalı olup olmadığını gösteren bir değer alır.Gets a value indicating whether the data reader is closed.

Item[Int32]

Belirtilen dizinde bulunan sütunu alır.Gets the column located at the specified index.

(Devralındığı yer: IDataRecord)
Item[String]

Belirtilen ada sahip sütunu alır.Gets the column with the specified name.

(Devralındığı yer: IDataRecord)
RecordsAffected

SQL deyimindeki yürütme tarafından değiştirilen, takılan veya silinen satır sayısını alır.Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

Yöntemler

Close()

Nesneyi kapatır IDataReader .Closes the IDataReader Object.

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.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Devralındığı yer: IDisposable)
GetBoolean(Int32)

Belirtilen sütunun değerini Boole olarak alır.Gets the value of the specified column as a Boolean.

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

Belirtilen sütunun 8 bit işaretsiz tamsayı değerini alır.Gets the 8-bit unsigned integer value of the specified column.

(Devralındığı yer: IDataRecord)
GetBytes(Int32, Int64, Byte[], Int32, Int32)

Verilen arabellek uzaklığında başlayarak, belirtilen sütundan alınan bir bayt akışını, bir dizi olarak arabelleğe okur.Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset.

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

Belirtilen sütunun karakter değerini alır.Gets the character value of the specified column.

(Devralındığı yer: IDataRecord)
GetChars(Int32, Int64, Char[], Int32, Int32)

Belirtilen bir sütundaki karakterlerin akışını, belirtilen arabellek uzaklığında başlayarak, bir dizi olarak arabelleğe okur.Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset.

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

IDataReaderBelirtilen sütun sırası için bir döndürür.Returns an IDataReader for the specified column ordinal.

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

Belirtilen alan için veri türü bilgilerini alır.Gets the data type information for the specified field.

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

Belirtilen alanın tarih ve saat veri değerini alır.Gets the date and time data value of the specified field.

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

Belirtilen alanın sabit konum sayısal değerini alır.Gets the fixed-position numeric value of the specified field.

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

Belirtilen alanın çift duyarlıklı kayan nokta numarasını alır.Gets the double-precision floating point number of the specified field.

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

TypeÖğesinden döndürülecek olan türüne karşılık gelen bilgileri alır Object GetValue(Int32) .Gets the Type information corresponding to the type of Object that would be returned from GetValue(Int32).

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

Belirtilen alanın tek duyarlıklı kayan nokta numarasını alır.Gets the single-precision floating point number of the specified field.

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

Belirtilen alanın GUID değerini döndürür.Returns the GUID value of the specified field.

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

Belirtilen alanın 16 bit işaretli tamsayı değerini alır.Gets the 16-bit signed integer value of the specified field.

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

Belirtilen alanın 32 bitlik işaretli tamsayı değerini alır.Gets the 32-bit signed integer value of the specified field.

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

Belirtilen alanın 64 bitlik işaretli tamsayı değerini alır.Gets the 64-bit signed integer value of the specified field.

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

Bulunacak alanın adını alır.Gets the name for the field to find.

(Devralındığı yer: IDataRecord)
GetOrdinal(String)

Adlandırılmış alanın dizinini döndürün.Return the index of the named field.

(Devralındığı yer: IDataRecord)
GetSchemaTable()

DataTableÖğesinin sütun meta verilerini açıklayan bir döndürür IDataReader .Returns a DataTable that describes the column metadata of the IDataReader.

GetString(Int32)

Belirtilen alanın dize değerini alır.Gets the string value of the specified field.

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

Belirtilen alanın değerini döndürün.Return the value of the specified field.

(Devralındığı yer: IDataRecord)
GetValues(Object[])

Nesne dizisini geçerli kaydın sütun değerleriyle doldurur.Populates an array of objects with the column values of the current record.

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

Belirtilen alanın null olarak ayarlanmış olup olmadığını döndürür.Return whether the specified field is set to null.

(Devralındığı yer: IDataRecord)
NextResult()

Batch SQL deyimlerinin sonuçlarını okurken veri okuyucuyu bir sonraki sonuca ilerletir.Advances the data reader to the next result, when reading the results of batch SQL statements.

Read()

IDataReaderSonraki kayda ilerletir.Advances the IDataReader to the next record.

Şunlara uygulanır