DbDataReader.GetFieldValueAsync Metoda

Definicja

Asynchronicznie Pobiera wartość określonej kolumny jako żądany typ.Asynchronously gets the value of the specified column as the requested type.

Przeciążenia

GetFieldValueAsync<T>(Int32)

Asynchronicznie Pobiera wartość określonej kolumny jako żądany typ.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32, CancellationToken)

Asynchronicznie Pobiera wartość określonej kolumny jako żądany typ.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32)

Asynchronicznie Pobiera wartość określonej kolumny jako żądany typ.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)

Parametry typu

T

Typ wartości, która ma zostać zwrócona.The type of the value to be returned.

Parametry

ordinal
Int32

Numer porządkowy kolumny liczony od zera.The zero-based column ordinal.

Zwraca

Task<T>

Zadanie, którego Result zawiera wartość określonej kolumny.A task whose Result contains the value of the specified column.

Wyjątki

Połączenie zostało porzucone lub zamknięte podczas pobierania danych.The connection was dropped or closed during data retrieval.

lub-or-

Czytnik danych został zamknięty podczas pobierania danych.The data reader was closed during the data retrieval.

lub-or-

Brak danych gotowych do odczytu (na przykład, pierwsze Read() nie zostało wywołane lub zwróciło false).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

lub-or-

Podjęto próbę odczytu poprzednio odczytanej kolumny w trybie sekwencyjnym.Tried to read a previously-read column in sequential mode.

lub-or-

Operacja asynchroniczna jest w toku.There was an asynchronous operation in progress. Dotyczy to wszystkich metod Get_ * _ podczas uruchamiania w trybie sekwencyjnym, ponieważ mogą one być wywoływane podczas odczytywania strumienia.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

Indeks kolumny jest poza zakresem.The column index is out of range.

Wartość zwrócona przez bazę danych jest niezgodna lub nie można jej rzutować na T.The value returned by the database doesn't match or cannot be cast to T.

Uwagi

Ta metoda asynchroniczna jest wymagana tylko w celu uniknięcia blokowania wątku wywołującego, gdy czytnik jest tworzony w trybie sekwencyjnym.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Jeśli tryb sekwencyjny nie jest określony, wszystkie wartości kolumn powinny być dostępne w pamięci za każdym razem, gdy ReadAsync kończy działanie, i wywołanie synchronicznej wersji metody nie powinno blokować wątku wywołującego.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.

Domyślna implementacja tej metody asynchronicznej wywołuje jej odpowiednik synchroniczny i zwraca ukończone zadanie, co może spowodować zablokowanie wątku wywołującego.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

Dostawcy danych, którzy obsługują programowanie asynchroniczne , powinny zastąpić domyślną implementację przy użyciu asynchronicznych operacji we/wy.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Inne metody i właściwości obiektu DbDataReader nie powinny być wywoływane, gdy zwrócone zadanie nie zostało jeszcze ukończone.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

GetFieldValueAsync<T>(Int32, CancellationToken)

Asynchronicznie Pobiera wartość określonej kolumny jako żądany typ.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>

Parametry typu

T

Typ wartości, która ma zostać zwrócona.The type of the value to be returned.

Parametry

ordinal
Int32

Numer porządkowy kolumny liczony od zera.The zero-based column ordinal.

cancellationToken
CancellationToken

Token anulowania operacji asynchronicznej.A token to cancel the asynchronous operation.

Zwraca

Task<T>

Zadanie, którego Result zawiera wartość określonej kolumny.A task whose Result contains the value of the specified column.

Wyjątki

Połączenie zostało porzucone lub zamknięte podczas pobierania danych.The connection was dropped or closed during data retrieval.

lub-or-

Czytnik danych został zamknięty podczas pobierania danych.The data reader was closed during the data retrieval.

lub-or-

Brak danych gotowych do odczytu (na przykład, pierwsze Read() nie zostało wywołane lub zwróciło false).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

lub-or-

Podjęto próbę odczytu poprzednio odczytanej kolumny w trybie sekwencyjnym.Tried to read a previously-read column in sequential mode.

lub-or-

Operacja asynchroniczna jest w toku.There was an asynchronous operation in progress. Dotyczy to wszystkich metod Get_ * _ podczas uruchamiania w trybie sekwencyjnym, ponieważ mogą one być wywoływane podczas odczytywania strumienia.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

Indeks kolumny jest poza zakresem.The column index is out of range.

Wartość zwrócona przez bazę danych jest niezgodna lub nie można jej rzutować na T.The value returned by the database doesn't match or cannot be cast to T.

Uwagi

Ta metoda asynchroniczna jest wymagana tylko w celu uniknięcia blokowania wątku wywołującego, gdy czytnik jest tworzony w trybie sekwencyjnym.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Jeśli tryb sekwencyjny nie jest określony, wszystkie wartości kolumn powinny być dostępne w pamięci za każdym razem, gdy ReadAsync kończy działanie, i wywołanie synchronicznej wersji metody nie powinno blokować wątku wywołującego.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.

Domyślna implementacja tej metody asynchronicznej wywołuje jej odpowiednik synchroniczny i zwraca ukończone zadanie, co może spowodować zablokowanie wątku wywołującego.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread. Domyślna implementacja zwraca również anulowane zadanie, jeśli zostało zakończone już anulowane tokeny anulowania.The default implementation also returns a cancelled task if passed an already cancelled cancellation token.

Dostawcy danych, którzy obsługują programowanie asynchroniczne , powinny zastąpić domyślną implementację przy użyciu asynchronicznych operacji we/wy.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Ta metoda akceptuje token anulowania, którego można użyć do żądania wcześniejszego anulowania operacji.This method accepts a cancellation token that can be used to request the operation to be cancelled early. Implementacje mogą zignorować to żądanie.Implementations may ignore this request.

Inne metody i właściwości obiektu DbDataReader nie powinny być wywoływane, gdy zwrócone zadanie nie zostało jeszcze ukończone.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

Dotyczy