DataReaderExtensions.IsDBNullAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Asynchronně získá hodnotu, která označuje, zda sloupec obsahuje neexistující nebo chybějící hodnoty.
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
Čtečka dat, ze které chcete získat hodnotu sloupce.
- name
- String
Název sloupce
- cancellationToken
- CancellationToken
Volitelný token pro zrušení asynchronní operace.
Návraty
Vlastnost Task<TResult> , jejíž Result vlastnost je true
, pokud je zadaná hodnota sloupce ekvivalentní hodnotě DBNull
nebo false
pokud není.
Výjimky
Připojení bylo během načítání dat ukončeno nebo ukončeno.
-nebo-
Čtečka dat se během načítání dat zavře.
-nebo-
Nejsou připravená žádná data ke čtení (například první Read() nebyla volána nebo vrácena false).
-nebo-
Pokus o čtení dříve přečtený sloupec v sekvenčním režimu
-nebo-
Probíhala asynchronní operace. To platí pro všechny metody Get* při spuštění v sekvenčním režimu, protože je možné je volat při čtení streamu.
Zadaný název není platný název sloupce.
Token zrušení byl zrušen. Tato výjimka je uložena ve vrácené úloze.
Poznámky
Tato asynchronní metoda je potřebná pouze k tomu, aby se zabránilo blokování volajícího vlákna při vytváření čtečky v sekvenčním režimu.
Pokud není zadaný sekvenční režim, měly by být všechny hodnoty sloupců dostupné v paměti při každém dokončení readAsync a volání synchronní verze metody by nemělo blokovat volající vlákno.
Výchozí implementace této asynchronní metody vyvolá její synchronní protějšek a vrátí dokončenou úlohu, potenciálně blokuje volající vlákno. Výchozí implementace také vrátí zrušenou úlohu, pokud byl předán již zrušený token zrušení.
Zprostředkovatelé dat, kteří podporují asynchronní programování , by měli přepsat výchozí inmplementaci pomocí asynchronních vstupně-výstupních operací.
Tato metoda přijímá token zrušení, který lze použít k žádosti o předčasné zrušení operace. Implementace můžou tento požadavek ignorovat.
Jiné metody a vlastnosti DbDataReader objektu by neměly být vyvolány, pokud vrácená úloha ještě není dokončena.
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem IsDBNull(DbDataReader, String).