Compartilhar via


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 deste 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 assegura 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 do tipo retornado.

Exceções

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

O SqlDataReader é fechado durante a recuperação de dados.

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

Tentativa de ler uma coluna lida anteriormente no modo sequencial.

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

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

Tentativa de ler uma coluna não existente.

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

T não corresponde ao tipo retornado pelo 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:

Booliano Byte Char DateTime
DateTimeOffset Decimal Double Float
Guid Int16 Int32 Int64
SqlBoolean SqlByte Sqldatetime SqlDecimal
SqlDouble SqlGuid SqlInt16 SqlInt32
SqlInt64 Sqlmoney Sqlsingle SqlString
String UDT, que pode ser qualquer tipo CLR marcado com SqlUserDefinedTypeAttribute.

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

Aplica-se a