SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Método

Definição

Obtém de forma assíncrona o valor da coluna especificada como um tipo. GetFieldValue<T>(Int32) é a versão síncrona desse método.

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)

Parâmetros de tipo

T

O tipo do valor a ser retornado.

Parâmetros

i
Int32

A coluna a ser recuperada.

cancellationToken
CancellationToken

A instrução de cancelamento, que propaga uma notificação de que as operações devem ser canceladas. Isso não garante o cancelamento. Uma configuração de CancellationToken.None torna esse método equivalente a IsDBNull(Int32). A tarefa retornada deve ser marcada como cancelada.

Retornos

Task<T>

O objeto de tipo retornado.

Exceções

A conexão cai ou é fechada durante a recuperação de dados.

A SqlDataReader origem é fechada durante a recuperação de dados.

Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado ou retornado false).

Tentou ler uma coluna de leitura anterior no modo sequencial.

Havia uma operação assíncrona em andamento. Isso se aplica a todos os métodos Get* durante a execução no modo sequencial, pois eles podem ser chamados durante a leitura de um fluxo.

Context Connection=true é especificado no cadeia de conexão.

Tentando ler uma coluna que não existe.

O valor da coluna era nulo (IsDBNull(Int32) == true), recuperando um tipo não SQL.

T não corresponde ao tipo retornado por SQL Server ou não pode ser convertido.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

T pode ser um dos seguintes tipos:

Boolean, Byte, Char, DateTime, DateTimeOffset, Decimal, Double, Float, Guid, Int16, Int32, Int64, SqlBoolean, SqlByte, SqlDateTime, SqlDecimal, SqlDouble, SqlGuid, SqlInt16, SqlInt32, SqlInt64, SqlMoney, SqlSingle, SqlString, String ou UDT (qualquer tipo CLR marcado com SqlUserDefinedTypeAttribute).

Para obter mais informações, consulte o Suporte de Streaming do SqlClient.

Aplica-se a