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 : System::Data::Common::DbDataReader, IDisposable, System::Data::Common::IDbColumnSchemaGenerator
public ref class SqlDataReader : System::Data::Common::DbDataReader
public class SqlDataReader : System.Data.Common.DbDataReader, IDisposable
public class SqlDataReader : System.Data.Common.DbDataReader, IDisposable, System.Data.Common.IDbColumnSchemaGenerator
public class SqlDataReader : System.Data.Common.DbDataReader
type SqlDataReader = class
    inherit DbDataReader
    interface IDataReader
    interface IDisposable
    interface IDataRecord
type SqlDataReader = class
    inherit DbDataReader
    interface IDataReader
    interface IDataRecord
    interface IDisposable
type SqlDataReader = class
    inherit DbDataReader
    interface IDbColumnSchemaGenerator
    interface IDisposable
type SqlDataReader = class
    inherit DbDataReader
    interface IDbColumnSchemaGenerator
    interface IDataReader
    interface IDataRecord
    interface IDisposable
type SqlDataReader = class
    inherit DbDataReader
    interface IDisposable
Public Class SqlDataReader
Inherits DbDataReader
Implements IDisposable
Public Class SqlDataReader
Inherits DbDataReader
Implements IDbColumnSchemaGenerator, IDisposable
Public Class SqlDataReader
Inherits DbDataReader
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 Microsoft.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]));
    }

}

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 meşgul SqlDataReaderve 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ış zamanlama bağımlıdır.

IsClosed ve RecordsAffected kapatıldıktan sonra SqlDataReader çağırabileceğiniz tek özelliklerdir. mevcut olduğunda 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.

Not

En iyi performans için gereksiz SqlDataReader nesneler oluşturmaktan veya verilerin gereksiz kopyalarını 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

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

SensitivityClassification

SensitivityClassification ile SqlDataReaderbilgileri alır.

VisibleFieldCount

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

Yöntemler

Close()

SqlDataReader Nesneyi kapatır.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

IsCommandBehavior(CommandBehavior)

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

IsDBNull(Int32)

Sütunun var olmayan değerler mi yoksa eksik değerler mi 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ü.

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

NextResult()

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

NextResultAsync(CancellationToken)

Toplu Transact-SQL deyimlerinin sonuçlarını okurken veri okuyucuyu bir sonraki sonuca ilerletmenin 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.

Read()

öğesini SqlDataReader sonraki kayda ilerler.

ReadAsync(CancellationToken)

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

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

Belirtik Arabirim Kullanımları

IDataRecord.GetData(Int32)

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

Şunlara uygulanır