SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Metoda

Definice

Asynchronně získá hodnotu zadaného sloupce jako typ. GetFieldValue<T>(Int32) je synchronní verze této metody.

public:
generic <typename T>
 override System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int i, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int i, System.Threading.CancellationToken cancellationToken);
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overrides Function GetFieldValueAsync(Of T) (i As Integer, cancellationToken As CancellationToken) As Task(Of T)

Parametry typu

T

Typ hodnoty, která má být vrácena.

Parametry

i
Int32

Sloupec, který se má načíst.

cancellationToken
CancellationToken

Instrukce zrušení, která šíří oznámení, že operace by měly být zrušeny. Zrušení tak není zaručeno. Nastavení způsobí, CancellationToken.None že tato metoda bude ekvivalentní hodnotě IsDBNull(Int32). Vrácený úkol musí být označen jako zrušený.

Návraty

Task<T>

Vrácený objekt typu.

Výjimky

Připojení se během načítání dat ukončí nebo se ukončí.

Během SqlDataReader načítání dat se zavře.

Nejsou připravená žádná data ke čtení (první se například Read() nevolala nebo nevrátila hodnotu false).

Pokusili jste se přečíst dříve přečtený sloupec v sekvenčním režimu.

Probíhala asynchronní operace. To platí pro všechny metody Get* spuštěné v sekvenčním režimu, protože je možné je volat při čtení datového proudu.

Context Connection=trueje zadaný v připojovací řetězec.

Pokoušíte se přečíst sloupec, který neexistuje.

Hodnota sloupce byla null (IsDBNull(Int32) == true), načítá se typ, který není sql.

Tneodpovídá typu vráceného SQL Server nebo se nedá přetypovat.

Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.

Poznámky

T může být jeden z následujících typů:

Logická hodnota Byte Char DateTime
DateTimeOffset Decimal dvojité Float
Identifikátor GUID Int16 Int32 Int64
Sqlboolean Sqlbyte Sqldatetime Sqldecimal
Sqldouble Sqlguid Sqlint16 Sqlint32
SqlInt64 Sqlmoney Sqlsingle Sqlstring
Řetězec UDT, což může být libovolný typ CLR označený pomocí SqlUserDefinedTypeAttribute.

Další informace najdete v tématu Podpora streamování SqlClient.

Platí pro