Partager via


SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Méthode

Définition

Obtient, de manière asynchrone, la valeur de la colonne spécifiée sous la forme d'un type. GetFieldValue<T>(Int32) est la version synchrone de cette méthode.

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)

Paramètres de type

T

Type de la valeur à retourner.

Paramètres

i
Int32

Colonne à récupérer.

cancellationToken
CancellationToken

Instruction d'annulation, qui propage une notification que les opérations doivent être annulées. Cela ne garantit pas l'annulation. Un paramètre CancellationToken.None rend cette méthode équivalente à IsDBNull(Int32). La tâche retournée doit être marquée comme annulée.

Retours

Task<T>

Objet de type retourné.

Exceptions

La connexion est perdue ou est fermée pendant la récupération des données.

Fermeture de SqlDataReader au cours de la récupération des données.

Il n'existe aucune donnée prête à être lue (par exemple, le premier Read() n'a pas été appelé ou retourné comme false).

Tentative de lecture d'une colonne précédemment lue en mode séquentiel.

Il y avait une opération asynchrone en cours. Cela s'applique à toutes les méthodes Get* exécutées en mode séquentiel, car elles peuvent être appelées pendant la lecture d'un flux de données.

Context Connection=true est spécifié dans la chaîne de connexion.

Tentative de lecture d'une colonne qui n'existe pas.

La valeur de la colonne était Null (IsDBNull(Int32) == true), récupération d’un type autre que SQL.

T ne correspond pas au type retourné par SQL Server ou ne peut pas être casté.

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

T peut être l’un des types suivants :

Booléen 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, qui peut être n’importe quel type CLR marqué avec SqlUserDefinedTypeAttribute.

Pour plus d’informations, consultez Prise en charge de SqlClient Streaming.

S’applique à