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 se va a recuperar.
- cancellationToken
- CancellationToken
La instrucción de cancelación, que propaga una notificación de que se deben cancelar las operaciones. Esto no garantiza la cancelación. Un valor de CancellationToken.None hace que este método sea equivalente a IsDBNull(Int32). La tarea devuelta debe marcarse como cancelada.
Devoluciones
Objeto de tipo devuelto.
Excepciones
La conexión quita o se cierra durante la recuperación de datos.
SqlDataReader se cierra durante la recuperación de datos.
No hay datos listos para leerse (por ejemplo, no se ha llamado a la primera Read() o se ha devuelto false).
Intentó leer una columna de lectura anterior en modo secuencial.
Hubo una operación asincrónica en curso. Esto se aplica a todos los métodos Get* al ejecutarse en modo secuencial, ya que se podría llamar al leer una secuencia.
Context Connection=true se especifica en el cadena de conexión.
Intentar leer una columna que no existe.
El valor de la columna era NULL (IsDBNull(Int32) == true), recuperando un tipo que no es 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 o UDT (cualquier tipo CLR marcado con SqlUserDefinedTypeAttribute).
Para obtener más información, consulte Compatibilidad con streaming de SqlClient.