Поделиться через


SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Метод

Определение

Асинхронно получает значение заданного столбца в виде типа. GetFieldValue<T>(Int32) — синхронная версия этого метода.

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)

Параметры типа

T

Тип возвращаемого значения.

Параметры

i
Int32

Получаемый столбец.

cancellationToken
CancellationToken

Инструкция отмены, распространяющая уведомление о том, что операции должны быть отменены. Не гарантирует отмену. Параметр CancellationToken.None делает этот метод равным методу IsDBNull(Int32). Возвращаемая задача должна быть помечена как отмененная.

Возвращаемое значение

Task<T>

Объект возвращаемого типа.

Исключения

Соединение разъединяется или закрывается во время извлечения данных.

Объект SqlDataReader закрыт во время извлечения данных.

Не существует данных, готовых для чтения (например, первый объект Read() не был вызван или вернул значение false).

Сделана попытка чтения ранее считанного столбца в последовательном режиме.

Выполнялась асинхронная операция. Относится ко всем методам Get* при работе в последовательном режиме, так как они могут вызываться при чтении потока.

Попытка чтения столбца, который не существует.

Значение столбца было NULL (IsDBNull(Int32) == true) при извлечении типа, не являющегося типом SQL.

T не соответствует типу, возвращаемому SQL Server, или не может быть приведено.

Комментарии

T может быть одного из следующих типов:

Логическое значение Byte Char DateOnly (.NET 6 или более поздней версии)
Дата/время DateTimeOffset Decimal Double
Float Guid Int16 Int32
Int64 SqlBoolean SqlByte SqlDateTime
SqlDecimal SqlDouble SqlGuid SqlInt16
SqlInt32 SqlInt64 SqlMoney SqlSingle
SqlString STREAM Строка TextReader;
TimeOnly (.NET 6 или более поздней версии) XmlReader Определяемый пользователем тип, который может быть любым типом СРЕДЫ CLR, помеченным .SqlUserDefinedTypeAttribute

Дополнительные сведения см. в разделе Поддержка потоковой передачи SqlClient.

Применяется к