DbDataReader.GetFieldValueAsync Yöntem

Tanım

Belirtilen sütunun değerini, istenen tür olarak zaman uyumsuz olarak alır.Asynchronously gets the value of the specified column as the requested type.

Aşırı Yüklemeler

GetFieldValueAsync<T>(Int32)

Belirtilen sütunun değerini, istenen tür olarak zaman uyumsuz olarak alır.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32, CancellationToken)

Belirtilen sütunun değerini, istenen tür olarak zaman uyumsuz olarak alır.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32)

Belirtilen sütunun değerini, istenen tür olarak zaman uyumsuz olarak alır.Asynchronously gets the value of the specified column as the requested type.

public:
generic <typename T>
 System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)

Tür Parametreleri

T

Döndürülecek değerin türü.The type of the value to be returned.

Parametreler

ordinal
Int32

Sıfır tabanlı sütun sırası.The zero-based column ordinal.

Döndürülenler

Task<T>

ResultBelirtilen sütunun değerini içeren bir görev.A task whose Result contains the value of the specified column.

Özel durumlar

Veri alma sırasında bağlantı kesildi veya kapatıldı.The connection was dropped or closed during data retrieval.

-veya--or-

Veri okuyucu veri alımı sırasında kapatıldı.The data reader was closed during the data retrieval.

-veya--or-

Okunmaya yönelik veri yok (örneğin, ilki Read() çağrılmadı veya döndürülmedi false ).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

-veya--or-

Daha önce sıralı modda daha önce okunan bir sütunu okumaya çalıştı.Tried to read a previously-read column in sequential mode.

-veya--or-

Devam eden bir zaman uyumsuz işlem var.There was an asynchronous operation in progress. Bu, akış okurken çağrılabilmesi için sıralı modda çalışırken tüm Get_ * _ yöntemlerine uygulanır.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

Sütun dizini aralık dışında.The column index is out of range.

Veritabanı tarafından döndürülen değer eşleşmiyor veya türüne atanamaz T .The value returned by the database doesn't match or cannot be cast to T.

Açıklamalar

Bu zaman uyumsuz yöntem yalnızca okuyucu sıralı modda oluşturulduğunda çağıran iş parçacığını engellemeyi önlemek için gereklidir.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Sıralı mod belirtilmezse, her bir sütun değeri, ReadAsync her tamamlandığında bellekte kullanılabilir hale gelmelidir ve yöntemin zaman uyumlu sürümünü çağıran iş parçacığını engellenemez.If sequential mode isn't specified, all column values should become available in memory each time ReadAsync completes, and calling the synchronous version of the method shouldn't block the calling thread.

Bu zaman uyumsuz yöntemin varsayılan uygulanması, zaman uyumlu karşılığını çağırır ve tamamlanmış bir görevi döndürür ve potansiyel olarak çağıran iş parçacığını engelliyor.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

Zaman uyumsuz programlamayı destekleyen veri sağlayıcılarının, zaman uyumsuz g/ç işlemlerini kullanarak varsayılan uygulamayı geçersiz kılması gerekir.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Döndürülen görev henüz tamamlanmadığından DbDataReader nesnesinin diğer yöntemleri ve özellikleri çağrılmamalıdır.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

Şunlara uygulanır

GetFieldValueAsync<T>(Int32, CancellationToken)

Belirtilen sütunun değerini, istenen tür olarak zaman uyumsuz olarak alır.Asynchronously gets the value of the specified column as the requested type.

public:
generic <typename T>
 virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)

Tür Parametreleri

T

Döndürülecek değerin türü.The type of the value to be returned.

Parametreler

ordinal
Int32

Sıfır tabanlı sütun sırası.The zero-based column ordinal.

cancellationToken
CancellationToken

Zaman uyumsuz işlemi iptal etmek için bir belirteç.A token to cancel the asynchronous operation.

Döndürülenler

Task<T>

ResultBelirtilen sütunun değerini içeren bir görev.A task whose Result contains the value of the specified column.

Özel durumlar

Veri alma sırasında bağlantı kesildi veya kapatıldı.The connection was dropped or closed during data retrieval.

-veya--or-

Veri okuyucu veri alımı sırasında kapatıldı.The data reader was closed during the data retrieval.

-veya--or-

Okunmaya yönelik veri yok (örneğin, ilki Read() çağrılmadı veya döndürülmedi false ).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

-veya--or-

Daha önce sıralı modda daha önce okunan bir sütunu okumaya çalıştı.Tried to read a previously-read column in sequential mode.

-veya--or-

Devam eden bir zaman uyumsuz işlem var.There was an asynchronous operation in progress. Bu, akış okurken çağrılabilmesi için sıralı modda çalışırken tüm Get_ * _ yöntemlerine uygulanır.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

Sütun dizini aralık dışında.The column index is out of range.

Veritabanı tarafından döndürülen değer eşleşmiyor veya türüne atanamaz T .The value returned by the database doesn't match or cannot be cast to T.

Açıklamalar

Bu zaman uyumsuz yöntem yalnızca okuyucu sıralı modda oluşturulduğunda çağıran iş parçacığını engellemeyi önlemek için gereklidir.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Sıralı mod belirtilmezse, her bir sütun değeri, ReadAsync her tamamlandığında bellekte kullanılabilir hale gelmelidir ve yöntemin zaman uyumlu sürümünü çağıran iş parçacığını engellenemez.If sequential mode isn't specified, all column values should become available in memory each time ReadAsync completes, and calling the synchronous version of the method shouldn't block the calling thread.

Bu zaman uyumsuz yöntemin varsayılan uygulanması, zaman uyumlu karşılığını çağırır ve tamamlanmış bir görevi döndürür ve potansiyel olarak çağıran iş parçacığını engelliyor.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread. Varsayılan uygulama, zaten iptal edilmiş bir iptal belirtecini geçirtiyse, iptal edilmiş bir görevi de döndürür.The default implementation also returns a cancelled task if passed an already cancelled cancellation token.

Zaman uyumsuz programlamayı destekleyen veri sağlayıcılarının, zaman uyumsuz g/ç işlemlerini kullanarak varsayılan uygulamayı geçersiz kılması gerekir.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Bu yöntem, işlemi erken iptal edilecek şekilde istemek için kullanılabilen bir iptal belirtecini kabul eder.This method accepts a cancellation token that can be used to request the operation to be cancelled early. Uygulamalar bu isteği yok sayabilir.Implementations may ignore this request.

Döndürülen görev henüz tamamlanmadığından DbDataReader nesnesinin diğer yöntemleri ve özellikleri çağrılmamalıdır.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

Şunlara uygulanır