Sdílet prostřednictvím


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.

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.

Poznámky

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

Logická hodnota Byte Char DateOnly (.NET 6 nebo novější)
DateTime DateTimeOffset Decimal dvojité
Float Identifikátor GUID Int16 Int32
Int64 Sqlboolean Sqlbyte Sqldatetime
Sqldecimal Sqldouble Sqlguid Sqlint16
Sqlint32 SqlInt64 Sqlmoney Sqlsingle
Sqlstring Stream Řetězec Textreader
TimeOnly (.NET 6 nebo novější) Xmlreader 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