DbDataReader.GetFieldValueAsync 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 zadaného sloupce jako požadovaný typ.
Přetížení
GetFieldValueAsync<T>(Int32) |
Asynchronně získá hodnotu zadaného sloupce jako požadovaný typ. |
GetFieldValueAsync<T>(Int32, CancellationToken) |
Asynchronně získá hodnotu zadaného sloupce jako požadovaný typ. |
GetFieldValueAsync<T>(Int32)
- Zdroj:
- DbDataReader.cs
- Zdroj:
- DbDataReader.cs
- Zdroj:
- DbDataReader.cs
Asynchronně získá hodnotu zadaného sloupce jako požadovaný 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 hodnoty, která má být vrácena.
Parametry
- ordinal
- Int32
Řadový sloupec založený na nule.
Návraty
Úkol, jehož Result hodnota obsahuje zadaný sloupec.
Výjimky
Připojení bylo ukončeno nebo ukončeno během načítání dat.
-nebo-
Čtečka dat se zavřela během načítání dat.
-nebo-
Nejsou připravená žádná data ke čtení (například první Read() se nevolala nebo vrátila false
).
-nebo-
Pokusili jste se přečíst 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 spouštění v sekvenčním režimu, protože je možné je volat při čtení streamu.
Index sloupce je mimo rozsah.
Hodnota vrácená databází se neshoduje nebo ji nelze přetypovat na T
.
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.
Zprostředkovatelé dat, kteří podporují asynchronní programování , by měli přepsat výchozí implementaci pomocí asynchronních vstupně-výstupních operací.
Jiné metody a vlastnosti DbDataReader objektu by neměly být vyvolány, pokud vrácená úloha ještě není dokončena.
Platí pro
GetFieldValueAsync<T>(Int32, CancellationToken)
- Zdroj:
- DbDataReader.cs
- Zdroj:
- DbDataReader.cs
- Zdroj:
- DbDataReader.cs
Asynchronně získá hodnotu zadaného sloupce jako požadovaný 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 hodnoty, která má být vrácena.
Parametry
- ordinal
- Int32
Řadový sloupec založený na nule.
- cancellationToken
- CancellationToken
Token pro zrušení asynchronní operace.
Návraty
Úkol, jehož Result hodnota obsahuje zadaný sloupec.
Výjimky
Připojení bylo ukončeno nebo ukončeno během načítání dat.
-nebo-
Čtečka dat se zavřela během načítání dat.
-nebo-
Nejsou připravená žádná data ke čtení (například první Read() se nevolala nebo vrátila false
).
-nebo-
Pokusili jste se přečíst 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 spouštění v sekvenčním režimu, protože je možné je volat při čtení streamu.
Index sloupce je mimo rozsah.
Hodnota vrácená databází se neshoduje nebo ji nelze přetypovat na T
.
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í implementaci 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.