Compartilhar via


SqlDataReader.GetFieldValue<T>(Int32) Método

Definição

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

public:
generic <typename T>
 override T GetFieldValue(int i);
public override T GetFieldValue<T> (int i);
override this.GetFieldValue : int -> 'T
Public Overrides Function GetFieldValue(Of T) (i As Integer) As T

Parâmetros de tipo

T

O tipo do valor a ser retornado.

Parâmetros

i
Int32

A coluna a ser recuperada.

Retornos

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