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.
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.