Udostępnij za pośrednictwem


DataReaderExtensions.IsDBNullAsync Metoda

Definicja

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ę .

Dotyczy