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


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* при работе в последовательном режиме, так как они могут вызываться при чтении потока.

Context Connection=true задается в строке подключения.

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

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

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

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

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

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

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

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