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 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 ao Streaming do SqlClient.

Aplica-se a