SqlDataReader Sınıf

Tanım

SQL Server veritabanından yalnızca ileriye doğru satır akışını okumanın bir yolunu sağlar. Bu sınıf devralınamaz.

public ref class SqlDataReader : System::Data::Common::DbDataReader, IDisposable
public ref class SqlDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public ref class SqlDataReader : System::Data::Common::DbDataReader, System::Data::Common::IDbColumnSchemaGenerator
public class SqlDataReader : System.Data.Common.DbDataReader, IDisposable
public sealed class SqlDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
public class SqlDataReader : System.Data.Common.DbDataReader, System.Data.Common.IDbColumnSchemaGenerator
type SqlDataReader = class
    inherit DbDataReader
    interface IDisposable
type SqlDataReader = class
    inherit MarshalByRefObject
    interface IEnumerable
    interface IDataReader
    interface IDisposable
    interface IDataRecord
type SqlDataReader = class
    inherit DbDataReader
    interface IDataReader
    interface IDisposable
    interface IDataRecord
type SqlDataReader = class
    inherit DbDataReader
    interface IDataReader
    interface IDataRecord
    interface IDisposable
    interface IDbColumnSchemaGenerator
Public Class SqlDataReader
Inherits DbDataReader
Implements IDisposable
Public NotInheritable Class SqlDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
Public Class SqlDataReader
Inherits DbDataReader
Implements IDbColumnSchemaGenerator
Devralma
SqlDataReader
Devralma
Devralma
SqlDataReader
Uygulamalar

Örnekler

Aşağıdaki örnek, bir SqlConnection, SqlCommandve SqlDataReaderoluşturur. Örnek, konsol penceresine yazarak verileri okur. Kod daha sonra öğesini SqlDataReaderkapatır. SqlConnection, kod bloğunun using sonunda otomatik olarak kapatılır.

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

oluşturmak SqlDataReaderiçin, doğrudan bir oluşturucu kullanmak yerine nesnesinin SqlCommand yöntemini çağırmanız ExecuteReader gerekir.

SqlDataReader kullanılırken, ilişkili SqlConnection hizmeti ile SqlDataReadermeşgul ve kapatma dışında başka bir işlem gerçekleştirilemezSqlConnection. yöntemi SqlDataReader çağrılana Close kadar bu durum söz konusudur. Örneğin, çağrısından Closesonraya kadar çıkış parametrelerini alamazsınız.

Veriler okunurken başka bir işlem veya iş parçacığı tarafından ayarlanan bir sonuç kümesinde yapılan değişiklikler, kullanıcı tarafından SqlDataReadergörülebilir. Ancak, kesin davranış zamanlamaya bağlıdır.

IsClosed ve RecordsAffected kapatıldıktan sonra SqlDataReader çağırabileceğiniz tek özelliklerdir. mevcutken SqlDataReader özelliğine RecordsAffected erişilse de, doğru bir dönüş değeri garanti etmek için değerini RecordsAffected döndürmeden önce her zaman öğesini çağırınClose.

Sıralı erişim ()CommandBehavior.SequentialAccess kullanılırken, konum gelişmişse ve önceki sütunda SqlDataReader başka bir okuma işlemi denenirse bir InvalidOperationException oluşturulur.

Not

En iyi performans için gereksiz SqlDataReader nesneler oluşturmaktan veya gereksiz veri kopyaları oluşturmaktan kaçının. Bu nedenle, aynı nesneye bir başvuru döndürmek gibi GetValue yöntemlere birden çok çağrı. gibi GetValueyöntemler tarafından döndürülen nesnelerin temel alınan değerini değiştiriyorsanız dikkatli olun.

Özellikler

Connection

SqlConnection ile ilişkili SqlDataReader öğesini alır.

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.

HasRows

öğesinin bir veya daha fazla satır içerip içermediğini SqlDataReader belirten bir değer alır.

IsClosed

Belirtilen SqlDataReader örneğin kapatılıp kapatılmadığını gösteren bir Boole değeri alır.

Item[Int32]

Belirtilen sütunun değerini, sütun sırasıyla yerel biçiminde alır.

Item[String]

Belirtilen sütunun değerini, sütun adı verilen yerel biçiminde alır.

RecordsAffected

Transact-SQL deyiminin yürütülmesiyle değiştirilen, eklenen veya silinen satır sayısını alır.

VisibleFieldCount

içinde SqlDataReader gizlenmeyen alanların sayısını alır.

Yöntemler

Close()

SqlDataReader Nesneyi kapatır.

Close()

DbDataReader Nesneyi kapatır.

(Devralındığı yer: DbDataReader)
CloseAsync()

Nesneyi zaman uyumsuz olarak kapatır DbDataReader .

(Devralındığı yer: DbDataReader)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

DbDataReader sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: DbDataReader)
Dispose(Boolean)

SQL Server veritabanından yalnızca ileriye doğru satır akışını okumanın bir yolunu sağlar. Bu sınıf devralınamaz.

Dispose(Boolean)

DbDataReader tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: DbDataReader)
DisposeAsync()

Sınıfın geçerli örneği DbDataReader tarafından kullanılan tüm kaynakları zaman uyumsuz olarak serbest bırakır.

(Devralındığı yer: DbDataReader)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

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

Belirtilen sütunun değerini Boole değeri olarak alır.

GetByte(Int32)

Belirtilen sütunun değerini bayt olarak alır.

GetBytes(Int32, Int64, Byte[], Int32, Int32)

Belirtilen sütun uzaklığından verilen arabellek uzaklığından başlayan bir dizideki arabelleğe bayt akışını okur.

GetChar(Int32)

Belirtilen sütunun değerini tek bir karakter olarak alır.

GetChars(Int32, Int64, Char[], Int32, Int32)

Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayan bir dizi olarak bir karakter akışı okur.

GetColumnSchema()

Salt okunur sütun şeması koleksiyonunu alır.

GetColumnSchemaAsync(CancellationToken)

Bu, zaman uyumsuz sürümüdür GetColumnSchema(DbDataReader). Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. cancellationToken isteğe bağlı olarak kabul edilebilir. Varsayılan uygulama zaman uyumlu GetColumnSchema(DbDataReader) çağrıyı çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir görev geçirildiyse iptal edilmiş cancellationTokenbir görev döndürür. tarafından GetColumnSchema(DbDataReader) oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

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

Belirtilen sütun sıralı için bir IDataReader döndürür.

GetData(Int32)

İstenen sütun için iç içe veri okuyucu döndürür.

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

Belirtilen sütunun veri türünü temsil eden bir dize alır.

GetDateTime(Int32)

Belirtilen sütunun değerini nesne DateTime olarak alır.

GetDateTimeOffset(Int32)

Belirtilen sütunun değerini nesne DateTimeOffset olarak alır.

GetDbDataReader(Int32)

DbDataReader İstenen sütun sıralı için sağlayıcıya özgü bir uygulamayla geçersiz kılınabilecek bir nesne döndürür.

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

Belirtilen sütunun değerini nesne Decimal olarak alır.

GetDouble(Int32)

Belirtilen sütunun değerini çift duyarlıklı kayan nokta sayısı olarak alır.

GetEnumerator()

aracılığıyla SqlDataReaderyineleyen bir IEnumerator döndürür.

GetFieldType(Int32)

Nesnenin Type veri türü olan öğesini alır.

GetFieldValue<T>(Int32)

Belirtilen sütunun değerini zaman uyumlu bir şekilde tür olarak alır. GetFieldValueAsync<T>(Int32, CancellationToken) bu yöntemin zaman uyumsuz sürümüdür.

GetFieldValue<T>(Int32)

İstenen tür olarak belirtilen sütunun değerini alır.

(Devralındığı yer: DbDataReader)
GetFieldValueAsync<T>(Int32)

Belirtilen sütunun değerini zaman uyumsuz olarak istenen tür olarak alır.

(Devralındığı yer: DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken)

Belirtilen sütunun değerini zaman uyumsuz olarak tür olarak alır. GetFieldValue<T>(Int32) bu yöntemin zaman uyumlu sürümüdür.

GetFieldValueAsync<T>(Int32, CancellationToken)

Belirtilen sütunun değerini zaman uyumsuz olarak istenen tür olarak alır.

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

Belirtilen sütunun değerini tek duyarlıklı kayan nokta sayısı olarak alır.

GetGuid(Int32)

Belirtilen sütunun değerini genel olarak benzersiz tanımlayıcı (GUID) olarak alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

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

Belirtilen sütunun değerini 16 bit imzalı tamsayı olarak alır.

GetInt32(Int32)

Belirtilen sütunun değerini 32 bit imzalı tamsayı olarak alır.

GetInt64(Int32)

Belirtilen sütunun değerini 64 bit imzalı tamsayı olarak alır.

GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

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

Belirtilen sütunun adını alır.

GetOrdinal(String)

Sütunun adı verilen sıralı sütunu alır.

GetProviderSpecificFieldType(Int32)

Temel alınan sağlayıcıya özgü alan türünün bir gösterimi olan bir Object alır.

GetProviderSpecificValue(Int32)

Temel alınan sağlayıcıya özgü değerin bir gösterimi olan bir Object alır.

GetProviderSpecificValues(Object[])

Temel alınan sağlayıcıya özgü değerlerin bir gösterimi olan nesne dizisini alır.

GetSchemaTable()

sütun meta verilerini SqlDataReaderaçıklayan bir DataTable döndürür.

GetSchemaTable()

sütun meta verilerini DbDataReaderaçı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.

(Devralındığı yer: DbDataReader)
GetSchemaTableAsync(CancellationToken)

Bu, zaman uyumsuz sürümüdür GetSchemaTable(). Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. cancellationToken isteğe bağlı olarak kabul edilebilir. Varsayılan uygulama zaman uyumlu GetSchemaTable() çağrıyı çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir görev geçirildiyse iptal edilmiş cancellationTokenbir görev döndürür. tarafından GetSchemaTable() oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

(Devralındığı yer: DbDataReader)
GetSqlBinary(Int32)

Belirtilen sütunun değerini olarak SqlBinaryalır.

GetSqlBoolean(Int32)

Belirtilen sütunun değerini olarak SqlBooleanalır.

GetSqlByte(Int32)

Belirtilen sütunun değerini olarak SqlBytealır.

GetSqlBytes(Int32)

Belirtilen sütunun değerini olarak SqlBytesalır.

GetSqlChars(Int32)

Belirtilen sütunun değerini olarak SqlCharsalır.

GetSqlDateTime(Int32)

Belirtilen sütunun değerini olarak SqlDateTimealır.

GetSqlDecimal(Int32)

Belirtilen sütunun değerini olarak SqlDecimalalır.

GetSqlDouble(Int32)

Belirtilen sütunun değerini olarak SqlDoublealır.

GetSqlGuid(Int32)

Belirtilen sütunun değerini olarak SqlGuidalır.

GetSqlInt16(Int32)

Belirtilen sütunun değerini olarak SqlInt16alır.

GetSqlInt32(Int32)

Belirtilen sütunun değerini olarak SqlInt32alır.

GetSqlInt64(Int32)

Belirtilen sütunun değerini olarak SqlInt64alır.

GetSqlMoney(Int32)

Belirtilen sütunun değerini olarak SqlMoneyalır.

GetSqlSingle(Int32)

Belirtilen sütunun değerini olarak SqlSinglealır.

GetSqlString(Int32)

Belirtilen sütunun değerini olarak SqlStringalır.

GetSqlValue(Int32)

Belirtilen sütundaki veri değerini SQL Server türü olarak döndürür.

GetSqlValues(Object[])

SQL Server türleri olarak ifade edilen, kayıttaki tüm sütunların değerlerini içeren dizisini Object doldurur.

GetSqlXml(Int32)

Belirtilen sütunun değerini XML değeri olarak alır.

GetStream(Int32)

İkili, görüntü, varbinary, UDT ve değişken veri türlerini olarak Streamalır.

GetStream(Int32)

Belirtilen sütundan veri almak için bir akış alır.

(Devralındığı yer: DbDataReader)
GetString(Int32)

Belirtilen sütunun değerini dize olarak alır.

GetTextReader(Int32)

Char, NChar, NText, NVarChar, text, varChar ve Variant veri türlerini olarak TextReaderalır.

GetTextReader(Int32)

Sütundan veri almak için bir metin okuyucu alır.

(Devralındığı yer: DbDataReader)
GetTimeSpan(Int32)

Belirtilen sütunun değerini nesne TimeSpan olarak alır.

GetType()

Type Geçerli örneğini alır.

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

Belirtilen sütunun değerini yerel biçiminde alır.

GetValues(Object[])

Bir nesne dizisini geçerli satırın sütun değerleriyle doldurur.

GetXmlReader(Int32)

XML türünde verileri olarak XmlReaderalır.

InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
IsCommandBehavior(CommandBehavior)

Belirtilen CommandBehavior öğesinin ile eşleşip eşleşmediğini SqlDataReader belirler.

IsDBNull(Int32)

Sütunun var olmayan veya eksik değerler içerdiğini gösteren bir değer alır.

IsDBNullAsync(Int32)

Zaman uyumsuz olarak, sütunun var olmayan veya eksik değerler içerdiğini belirten bir değer alır.

(Devralındığı yer: DbDataReader)
IsDBNullAsync(Int32, CancellationToken)

sütununun IsDBNull(Int32)mevcut olmayan veya eksik değerler içerdiğini belirten bir değer alan zaman uyumsuz sürümü.

İptali belirteci, işlem komut zaman aşımı dolmadan işlemin iptal edilmesini istemek için kullanılabilir. Özel durumlar döndürülen Görev nesnesi ile bildirilir.

IsDBNullAsync(Int32, CancellationToken)

Zaman uyumsuz olarak, sütunun var olmayan veya eksik değerler içerdiğini belirten bir değer alır.

(Devralındığı yer: DbDataReader)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

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

Toplu Transact-SQL deyimlerinin sonuçlarını okurken veri okuyucuyu sonraki sonuca ilerletir.

NextResultAsync()

Bir deyim toplu işleminin sonuçlarını okurken okuyucuyu zaman uyumsuz olarak sonraki sonuca ilerler.

(Devralındığı yer: DbDataReader)
NextResultAsync(CancellationToken)

Toplu Transact-SQL deyimlerinin sonuçlarını okurken veri okuyucuyu sonraki sonuca ilerleten zaman uyumsuz sürümü NextResult().

İptali belirteci, işlem komut zaman aşımı dolmadan işlemin iptal edilmesini istemek için kullanılabilir. Özel durumlar döndürülen Görev nesnesi ile bildirilir.

NextResultAsync(CancellationToken)

Bir deyim toplu işleminin sonuçlarını okurken okuyucuyu zaman uyumsuz olarak sonraki sonuca ilerler.

(Devralındığı yer: DbDataReader)
Read()

öğesini SqlDataReader sonraki kayda ilerler.

ReadAsync()

Zaman uyumsuz olarak okuyucuyu bir sonuç kümesindeki bir sonraki kayda ilerler.

(Devralındığı yer: DbDataReader)
ReadAsync(CancellationToken)

öğesini bir sonraki kayda ilerleten SqlDataReader zaman uyumsuz sürümüRead().

İptali belirteci, işlem komut zaman aşımı dolmadan işlemin iptal edilmesini istemek için kullanılabilir. Özel durumlar döndürülen Görev nesnesi ile bildirilir.

ReadAsync(CancellationToken)

Zaman uyumsuz olarak okuyucuyu bir sonuç kümesindeki bir sonraki kayda ilerler.

(Devralındığı yer: DbDataReader)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDataReader.Close()

Bu üyenin açıklaması için bkz Close(). .

(Devralındığı yer: DbDataReader)
IDataReader.GetSchemaTable()

Bu üyenin açıklaması için bkz GetSchemaTable(). .

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

Belirtilen sütun sıralı için bir IDataReader döndürür.

IDataRecord.GetData(Int32)

Bu üyenin açıklaması için bkz GetData(Int32). .

(Devralındığı yer: DbDataReader)
IDisposable.Dispose()

Veri okuyucusu tarafından kullanılan tüm kaynakları serbest bırakır.

IEnumerable.GetEnumerator()

Öğe koleksiyonunda yineleme yapmak için kullanılabilecek bir numaralandırıcı döndürür.

Uzantı Metotları

CanGetColumnSchema(DbDataReader)

sütun şeması alıp DbDataReader alamayacağını belirten bir değer alır.

GetColumnSchema(DbDataReader)

bir DbDataReaderiçin sütun şemasını (DbColumn koleksiyon) alır.

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

Ayrıca bkz.