Partilhar 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.

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.

Comentários

T pode ser um dos seguintes tipos:

Booliano Byte Char DateOnly (.NET 6 ou posterior)
DateTime DateTimeOffset Decimal Double
Float Guid Int16 Int32
Int64 SqlBoolean SqlByte Sqldatetime
SqlDecimal SqlDouble SqlGuid SqlInt16
SqlInt32 SqlInt64 Sqlmoney Sqlsingle
SqlString STREAM String TextReader
TimeOnly (.NET 6 ou posterior) XmlReader UDT, que pode ser qualquer tipo CLR marcado com SqlUserDefinedTypeAttribute.

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

Aplica-se a