Share via


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

Definición

Obtiene de forma asincrónica el valor de la columna especificada como un tipo. GetFieldValue<T>(Int32) es la versión sincrónica de este 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

Tipo del valor que se va a devolver.

Parámetros

i
Int32

Columna que va a recuperarse.

cancellationToken
CancellationToken

Instrucción de cancelación, que propaga una notificación de que las operaciones deben cancelarse. No garantiza la cancelación. Un valor de configuración de CancellationToken.None hace que este método sea equivalente a IsDBNull(Int32). La tarea devuelta se debe marcar como cancelada.

Devoluciones

Task<T>

Objeto del tipo devuelto.

Excepciones

La conexión se interrumpe o se cierra durante la recuperación de datos.

SqlDataReader se cierra durante la recuperación de datos.

No hay ningún dato listo para leer (por ejemplo, no se ha llamado al primer Read() o ha devuelto false).

Se intentó leer una columna leída previamente en modo secuencial.

Había una operación asincrónica en curso. Esto se aplica a todos los métodos Get* cuando se ejecutan en modo secuencial, ya que se les podía llamar mientras se leía una secuencia.

Se intentó leer una columna que no existe.

El valor de la columna era NULL (IsDBNull(Int32) == true), recuperando un tipo que no es de SQL.

T no coincide con el tipo devuelto por SQL Server o no se puede convertir.

Comentarios

T puede ser uno de los siguientes tipos:

Boolean Byte Char DateOnly (.NET 6 o 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 o posterior) XmlReader UDT, que puede ser cualquier tipo CLR marcado con SqlUserDefinedTypeAttribute.

Para obtener más información, consulte Compatibilidad con streaming de SqlClient.

Se aplica a