SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Asynchronicznie pobiera wartość określonej kolumny jako typ. GetFieldValue<T>(Int32) to synchroniczna wersja 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 do zwrócenia.
Parametry
- i
- Int32
Kolumna do pobrania.
- cancellationToken
- CancellationToken
Instrukcja anulowania, która propaguje powiadomienie, że operacje powinny zostać anulowane. Nie gwarantuje to anulowania. Ustawienie CancellationToken.None
powoduje, że ta metoda jest równoważna IsDBNull(Int32). Zwrócone zadanie musi zostać oznaczone jako anulowane.
Zwraca
Zwrócony obiekt typu.
Wyjątki
Połączenie przerywa lub jest zamykane podczas pobierania danych.
Element SqlDataReader jest zamykany podczas pobierania danych.
Nie ma danych gotowych do odczytu (na przykład pierwsza Read() nie została wywołana lub zwrócona wartość false).
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.
Context Connection=true
parametr jest określony w parametry połączenia.
Próba odczytania kolumny, która nie istnieje.
Wartość kolumny to null (IsDBNull(Int32) == true
), pobieranie typu innego niż SQL.
T
nie jest zgodny z typem zwracanym przez SQL Server lub nie można go rzutować.
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.
Uwagi
T
może być jednym z następujących typów:
Wartość logiczna | Byte | Char | 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 |
Ciąg | UDT, który może być dowolnym typem CLR oznaczonym za pomocą SqlUserDefinedTypeAttributepolecenia . |
Aby uzyskać więcej informacji, zobacz SqlClient Streaming Support (Obsługa przesyłania strumieniowego sqlclient).