Udostępnij za pośrednictwem


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

Definicja

Asynchronicznie pobiera wartość określonej kolumny jako typ. GetFieldValue<T>(Int32) jest synchroniczną wersją tej 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 wartości, która ma zostać zwrócona.

Parametry

i
Int32

Kolumna do pobrania.

cancellationToken
CancellationToken

Instrukcja anulowania, która propaguje powiadomienie o anulowaniu operacji. Nie gwarantuje to anulowania. Ustawienie powoduje CancellationToken.None , że ta metoda jest równoważna IsDBNull(Int32). Zwrócone zadanie musi być oznaczone jako anulowane.

Zwraca

Task<T>

Zwrócony obiekt typu.

Wyjątki

Połączenie spada lub jest zamykane podczas pobierania danych.

Element SqlDataReader jest zamknięty podczas pobierania danych.

Nie ma danych gotowych do odczytu (na przykład pierwszy Read() nie został wywołany lub zwrócony fałsz).

Podjęto próbę odczytania wcześniej odczytanej kolumny w trybie sekwencyjnym.

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.

Próba odczytania kolumny, która nie istnieje.

Wartość kolumny miała wartość null (IsDBNull(Int32) == true), pobieranie typu innego niż SQL.

Tnie jest zgodny z typem zwracanym przez SQL Server lub nie można go rzutować.

Uwagi

T może być jednym z następujących typów:

Wartość logiczna Byte Char DateOnly (.NET 6 lub nowszy)
DateTime Datetimeoffset Liczba dziesiętna Double
Float Guid (identyfikator GUID) Int16 Int32
Int64 Sqlboolean Sqlbyte Sqldatetime
Sqldecimal Sqldouble Sqlguid SqlInt16
Sqlint32 Sqlint64 Sqlmoney Sqlsingle
Sqlstring Stream Ciąg Textreader
TimeOnly (.NET 6 lub nowszy) Xmlreader UDT, który może być dowolnym typem CLR oznaczonym za pomocą SqlUserDefinedTypeAttributepolecenia .

Aby uzyskać więcej informacji, zobacz Obsługa przesyłania strumieniowego sqlClient.

Dotyczy