Compartir a través de


DbDataReader.GetFieldValueAsync Método

Definición

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.

Sobrecargas

GetFieldValueAsync<T>(Int32)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.

GetFieldValueAsync<T>(Int32, CancellationToken)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.

GetFieldValueAsync<T>(Int32)

Source:
DbDataReader.cs
Source:
DbDataReader.cs
Source:
DbDataReader.cs

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.

public:
generic <typename T>
 System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)

Parámetros de tipo

T

Tipo del valor que se va a devolver.

Parámetros

ordinal
Int32

Índice de la columna de base cero.

Devoluciones

Task<T>

Tarea cuyo Result contiene el valor de la columna especificada.

Excepciones

La conexión se descartó o cerró durante la recuperación de datos.

o bien

El lector de datos se cerró durante la recuperación de datos.

o bien

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

o bien

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

o bien

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.

El índice de columna está fuera del rango.

El valor devuelto por la base de datos no coincide o no se puede convertir en T.

Comentarios

Este método asincrónico solo es necesario para evitar bloquear el subproceso que realiza la llamada cuando el lector se crea en modo secuencial.

Si no se especifica el modo secuencial, todos los valores de columna deben estar disponibles en la memoria cada vez que se complete ReadAsync y llamar a la versión sincrónica del método no debe bloquear el subproceso que realiza la llamada.

La implementación predeterminada de este método asincrónico invoca a su homólogo sincrónico y devuelve una tarea completada, lo que podría bloquear el subproceso que realiza la llamada.

Los proveedores de datos que admiten la programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de E/S asincrónicas.

No se deben invocar otros métodos y propiedades del objeto DbDataReader hasta que se complete la tarea devuelta.

Se aplica a

GetFieldValueAsync<T>(Int32, CancellationToken)

Source:
DbDataReader.cs
Source:
DbDataReader.cs
Source:
DbDataReader.cs

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.

public:
generic <typename T>
 virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)

Parámetros de tipo

T

Tipo del valor que se va a devolver.

Parámetros

ordinal
Int32

Índice de la columna de base cero.

cancellationToken
CancellationToken

Token para cancelar la operación asincrónica.

Devoluciones

Task<T>

Tarea cuyo Result contiene el valor de la columna especificada.

Excepciones

La conexión se descartó o cerró durante la recuperación de datos.

o bien

El lector de datos se cerró durante la recuperación de datos.

o bien

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

o bien

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

o bien

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.

El índice de columna está fuera del rango.

El valor devuelto por la base de datos no coincide o no se puede convertir en T.

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

Comentarios

Este método asincrónico solo es necesario para evitar bloquear el subproceso que realiza la llamada cuando el lector se crea en modo secuencial.

Si no se especifica el modo secuencial, todos los valores de columna deben estar disponibles en la memoria cada vez que se complete ReadAsync y llamar a la versión sincrónica del método no debe bloquear el subproceso que realiza la llamada.

La implementación predeterminada de este método asincrónico invoca a su homólogo sincrónico y devuelve una tarea completada, lo que podría bloquear el subproceso que realiza la llamada. La implementación predeterminada también devuelve una tarea cancelada si se pasa un token de cancelación ya cancelado.

Los proveedores de datos que admiten la programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de E/S asincrónicas.

Este método acepta un token de cancelación que se puede usar para solicitar que la operación se cancele pronto. Las implementaciones pueden omitir esta solicitud.

No se deben invocar otros métodos y propiedades del objeto DbDataReader hasta que se complete la tarea devuelta.

Se aplica a