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.

Context Connection=true se especifica en la cadena de conexión.

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.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

T puede ser uno de los siguientes tipos:

Boolean 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 puede ser cualquier tipo CLR marcado con SqlUserDefinedTypeAttribute.

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

Se aplica a