Aracılığıyla paylaş


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 class SqlDataReader : System.Data.Common.DbDataReader, IDisposable
public sealed class SqlDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
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
Public Class SqlDataReader
Inherits DbDataReader
Implements IDisposable
Public NotInheritable Class SqlDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
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.

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

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 hiç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 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 dönüş değerini 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 başka bir okuma işlemi denenirse SqlDataReader bir InvalidOperationException oluşturulur.

Uyarı

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

Özellikler

Name Description
Connection

ile ilişkilendirilmiş öğesini SqlConnectionSqlDataReaderalı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çerdiğ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 gizli olmayan alanların sayısını alır.

Yöntemler

Name Description
Close()

SqlDataReader Nesneyi kapatır.

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

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

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

tarafından DbDataReader kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları 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 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şlayarak bir dizi 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.

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 numarası olarak alır.

GetEnumerator()

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

GetFieldType(Int32)

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

GetFieldValue<T>(Int32)

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

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)

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

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

Belirtilen sütunun değerini tek duyarlıklı kayan nokta numarası 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ıra sütununu 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 bir nesne dizisi alır.

GetSchemaTable()

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

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 bir 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.

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.

GetTimeSpan(Int32)

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

GetType()

Geçerli örneğin Type 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 değerin 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, CancellationToken)

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

İptal belirteci, komut zaman aşımı tamamlanmadan önce işlemin terk edilmesi isteğinde bulunmak için kullanılabilir. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir.

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

Geçerli Objectbasit 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()

Batch Transact-SQL deyimlerinin sonuçlarını okurken veri okuyucuyu sonraki sonuca ilerler.

NextResultAsync()

Bir grup deyimin sonuçlarını okurken okuyucuyu zaman uyumsuz olarak sonraki sonuca ilerler.

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

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

İptal belirteci, komut zaman aşımı tamamlanmadan önce işlemin terk edilmesi isteğinde bulunmak için kullanılabilir. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir.

Read()

öğesini SqlDataReader sonraki kayda ilerler.

ReadAsync()

Okuyucuyu zaman uyumsuz olarak sonuç kümesindeki bir sonraki kayda ilerler.

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

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

İptal belirteci, komut zaman aşımı tamamlanmadan önce işlemin terk edilmesi isteğinde bulunmak için kullanılabilir. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir.

ToString()

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
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 yinelemek için kullanılabilecek bir numaralandırıcı döndürür.

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

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

CanGetColumnSchema(DbDataReader)

Sütun şemasını DbDataReader alıp alamayacağını gösteren bir değer alır.

Cast<TResult>(IEnumerable)

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

GetColumnSchema(DbDataReader)

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

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

Ayrıca bkz.