DbDataReader.GetFieldValueAsync Método

Definición

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.Asynchronously gets the value of the specified column as the requested type.

Sobrecargas

GetFieldValueAsync<T>(Int32)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32, CancellationToken)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.Asynchronously gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(Int32)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.Asynchronously gets the value of the specified column as the requested type.

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.The type of the value to be returned.

Parámetros

ordinal
Int32

Índice de la columna de base cero.The zero-based column ordinal.

Devoluciones

Task<T>

Tarea cuyo Result contiene el valor de la columna especificada.A task whose Result contains the value of the specified column.

Excepciones

La conexión se descartó o cerró durante la recuperación de datos.The connection was dropped or closed during data retrieval.

o bien-or-

El lector de datos se cerró durante la recuperación de datos.The data reader was closed during the data retrieval.

o bien-or-

No hay ningún dato listo para leer (por ejemplo, no se ha llamado al primer Read() o ha devuelto false).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

o bien-or-

Se intentó leer una columna leída previamente en modo secuencial.Tried to read a previously-read column in sequential mode.

o bien-or-

Había una operación asincrónica en curso.There was an asynchronous operation in progress. 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.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

El índice de columna está fuera del rango.The column index is out of range.

El valor devuelto por la base de datos no coincide o no se puede convertir en T.The value returned by the database doesn't match or cannot be cast to T.

Comentarios

Este método asincrónico solo es necesario para evitar el bloqueo del subproceso que realiza la llamada cuando el lector se crea en modo secuencial.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Si no se especifica el modo secuencial, todos los valores de columna deben estar disponibles en la memoria cada vez que se complete el método ReadAsync y llamar a la versión sincrónica del método no debe bloquear el subproceso que realiza la llamada.If sequential mode isn't specified, all column values should become available in memory each time ReadAsync completes, and calling the synchronous version of the method shouldn't block the calling thread.

La implementación predeterminada de este método asincrónico invoca su homólogo sincrónico y devuelve una tarea completada, lo que posiblemente bloquea el subproceso que realiza la llamada.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

Los proveedores de datos que admiten la programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de e/s asincrónicas.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

No se deben invocar otros métodos y propiedades del objeto DbDataReader hasta que se complete la tarea devuelta.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

Se aplica a

GetFieldValueAsync<T>(Int32, CancellationToken)

Obtiene de manera asincrónica el valor de la columna especificada con el tipo solicitado.Asynchronously gets the value of the specified column as the requested type.

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.The type of the value to be returned.

Parámetros

ordinal
Int32

Índice de la columna de base cero.The zero-based column ordinal.

cancellationToken
CancellationToken

Token para cancelar la operación asincrónica.A token to cancel the asynchronous operation.

Devoluciones

Task<T>

Tarea cuyo Result contiene el valor de la columna especificada.A task whose Result contains the value of the specified column.

Excepciones

La conexión se descartó o cerró durante la recuperación de datos.The connection was dropped or closed during data retrieval.

o bien-or-

El lector de datos se cerró durante la recuperación de datos.The data reader was closed during the data retrieval.

o bien-or-

No hay ningún dato listo para leer (por ejemplo, no se ha llamado al primer Read() o ha devuelto false).There is no data ready to be read (for example, the first Read() hasn't been called, or it returned false).

o bien-or-

Se intentó leer una columna leída previamente en modo secuencial.Tried to read a previously-read column in sequential mode.

o bien-or-

Había una operación asincrónica en curso.There was an asynchronous operation in progress. 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.This applies to all Get_*_ methods when running in sequential mode, as they could be called while reading a stream.

El índice de columna está fuera del rango.The column index is out of range.

El valor devuelto por la base de datos no coincide o no se puede convertir en T.The value returned by the database doesn't match or cannot be cast to T.

Comentarios

Este método asincrónico solo es necesario para evitar el bloqueo del subproceso que realiza la llamada cuando el lector se crea en modo secuencial.This asynchronous method is only needed to avoid blocking the calling thread when the reader is created in sequential mode.

Si no se especifica el modo secuencial, todos los valores de columna deben estar disponibles en la memoria cada vez que se complete el método ReadAsync y llamar a la versión sincrónica del método no debe bloquear el subproceso que realiza la llamada.If sequential mode isn't specified, all column values should become available in memory each time ReadAsync completes, and calling the synchronous version of the method shouldn't block the calling thread.

La implementación predeterminada de este método asincrónico invoca su homólogo sincrónico y devuelve una tarea completada, lo que posiblemente bloquea el subproceso que realiza la llamada.The default implementation of this asynchronous method invokes its synchronous counterpart and returns a completed Task, potentially blocking the calling thread. La implementación predeterminada también devuelve una tarea cancelada si se pasa un token de cancelación ya cancelado.The default implementation also returns a cancelled task if passed an already cancelled cancellation token.

Los proveedores de datos que admiten la programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de e/s asincrónicas.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Este método acepta un token de cancelación que se puede usar para solicitar que la operación se cancele pronto.This method accepts a cancellation token that can be used to request the operation to be cancelled early. Las implementaciones pueden omitir esta solicitud.Implementations may ignore this request.

No se deben invocar otros métodos y propiedades del objeto DbDataReader hasta que se complete la tarea devuelta.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

Se aplica a