DbDataReader.GetFieldValueAsync Metoda

Definicja

Asynchronicznie pobiera wartość określonej kolumny jako żądany typ.

Przeciążenia

GetFieldValueAsync<T>(Int32)

Asynchronicznie pobiera wartość określonej kolumny jako żądany typ.

GetFieldValueAsync<T>(Int32, CancellationToken)

Asynchronicznie pobiera wartość określonej kolumny jako żądany typ.

GetFieldValueAsync<T>(Int32)

Źródło:
DbDataReader.cs
Źródło:
DbDataReader.cs
Źródło:
DbDataReader.cs

Asynchronicznie pobiera wartość określonej kolumny jako żądany typ.

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.

Parametry

ordinal
Int32

Porządkowa kolumna oparta na zera.

Zwraca

Task<T>

Zadanie, którego Result wartość zawiera określoną kolumnę.

Wyjątki

Połączenie zostało przerwane lub zamknięte podczas pobierania danych.

-lub-

Czytnik danych został zamknięty podczas pobierania danych.

-lub-

Nie ma gotowych danych do odczytu (na przykład pierwsza Read() nie została wywołana lub zwróciła falsewartość ).

-lub-

Podjęto próbę odczytania wcześniej odczytanej kolumny w trybie sekwencyjnym.

-lub-

W toku była operacja asynchroniczna. Dotyczy to wszystkich metod Get_*_ podczas uruchamiania w trybie sekwencyjnym, ponieważ można je wywołać podczas odczytywania strumienia.

Indeks kolumny jest poza zakresem.

Wartość zwracana przez bazę danych nie jest zgodna lub nie można jej rzutować na T.

Uwagi

Ta metoda asynchroniczna jest potrzebna tylko w celu uniknięcia blokowania wątku wywołującego po utworzeniu czytnika w trybie sekwencyjnym.

Jeśli tryb sekwencyjny nie jest określony, wszystkie wartości kolumn powinny stać się dostępne w pamięci za każdym razem, gdy funkcja ReadAsync zakończy się, i wywołanie synchronicznej wersji metody nie powinno blokować wątku wywołującego.

Domyślna implementacja tej metody asynchronicznej wywołuje synchroniczny odpowiednik i zwraca ukończone zadanie, potencjalnie blokując wątek wywołujący.

Dostawcy danych, którzy obsługują programowanie asynchroniczne , powinni zastąpić domyślną implementację przy użyciu asynchronicznych operacji we/wy.

Inne metody i właściwości obiektu DbDataReader nie powinny być wywoływane, gdy zwrócone zadanie nie zostało jeszcze ukończone.

Dotyczy

GetFieldValueAsync<T>(Int32, CancellationToken)

Źródło:
DbDataReader.cs
Źródło:
DbDataReader.cs
Źródło:
DbDataReader.cs

Asynchronicznie pobiera wartość określonej kolumny jako żądany typ.

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)

Parametry typu

T

Typ wartości, która ma zostać zwrócona.

Parametry

ordinal
Int32

Porządkowa kolumna oparta na zera.

cancellationToken
CancellationToken

Token umożliwiający anulowanie operacji asynchronicznej.

Zwraca

Task<T>

Zadanie, którego Result wartość zawiera określoną kolumnę.

Wyjątki

Połączenie zostało przerwane lub zamknięte podczas pobierania danych.

-lub-

Czytnik danych został zamknięty podczas pobierania danych.

-lub-

Nie ma gotowych danych do odczytu (na przykład pierwsza Read() nie została wywołana lub zwróciła falsewartość ).

-lub-

Podjęto próbę odczytania wcześniej odczytanej kolumny w trybie sekwencyjnym.

-lub-

W toku była operacja asynchroniczna. Dotyczy to wszystkich metod Get_*_ podczas uruchamiania w trybie sekwencyjnym, ponieważ można je wywołać podczas odczytywania strumienia.

Indeks kolumny jest poza zakresem.

Wartość zwracana przez bazę danych nie jest zgodna lub nie można jej rzutować na T.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Ta metoda asynchroniczna jest potrzebna tylko w celu uniknięcia blokowania wątku wywołującego po utworzeniu czytnika w trybie sekwencyjnym.

Jeśli tryb sekwencyjny nie jest określony, wszystkie wartości kolumn powinny stać się dostępne w pamięci za każdym razem, gdy funkcja ReadAsync zakończy się, i wywołanie synchronicznej wersji metody nie powinno blokować wątku wywołującego.

Domyślna implementacja tej metody asynchronicznej wywołuje synchroniczny odpowiednik i zwraca ukończone zadanie, potencjalnie blokując wątek wywołujący. Domyślna implementacja zwraca również anulowane zadanie, jeśli przekazano już anulowany token anulowania.

Dostawcy danych, którzy obsługują programowanie asynchroniczne , powinni zastąpić domyślną implementację przy użyciu asynchronicznych operacji we/wy.

Ta metoda akceptuje token anulowania, który może służyć do żądania wcześniejszego anulowania operacji. Implementacje mogą ignorować to żądanie.

Inne metody i właściwości obiektu DbDataReader nie powinny być wywoływane, gdy zwrócone zadanie nie zostało jeszcze ukończone.

Dotyczy