DataReaderExtensions.IsDBNullAsync 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ść wskazującą, czy kolumna zawiera nieistniejące, czy brakujące wartości.
public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member IsDBNullAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function IsDBNullAsync (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)
Parametry
- reader
- DbDataReader
Czytnik danych umożliwiający pobranie wartości kolumny z.
- name
- String
Nazwa kolumny.
- cancellationToken
- CancellationToken
Opcjonalny token umożliwiający anulowanie operacji asynchronicznej.
Zwraca
Właściwość Task<TResult> , której Result właściwość jest true
, jeśli określona wartość kolumny jest równoważna DBNull
lub false
jeśli nie jest.
Wyjątki
Połączenie zostało przerwane lub zamknięte podczas pobierania danych.
-lub-
Czytnik danych jest zamknięty podczas pobierania danych.
-lub-
Nie ma danych gotowych do odczytu (na przykład pierwszy Read() nie został wywołany lub zwrócony fałsz).
-lub-
Próba 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.
Określona nazwa nie jest prawidłową nazwą kolumny.
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ą inmplementację 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.
Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez IsDBNull(DbDataReader, String)usługę .