DbDataReader.GetFieldValueAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 false
wartość ).
-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
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 false
wartość ).
-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.