SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.