SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient de façon asynchrone la valeur de la colonne spécifiée en tant que 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 à renvoyer.
Paramètres
- i
- Int32
Colonne à récupérer.
- cancellationToken
- CancellationToken
Instruction d’annulation, qui propage une notification indiquant que les opérations doivent être annulées. Cela ne garantit pas l’annulation. Un paramètre de CancellationToken.None rend cette méthode équivalente à IsDBNull(Int32). La tâche retournée doit être marquée comme annulée.
Retours
Objet de type retourné.
Exceptions
La connexion supprime ou est fermée pendant la récupération des données.
La SqlDataReader valeur est fermée pendant la récupération des données.
Il n’y a pas de données prêtes à être lues (par exemple, la première Read() n’a pas été appelée ou retournée false).
Tentative de lecture d’une colonne lue précédemment en mode séquentiel.
Une opération asynchrone s’est déroulée en cours. Cela s’applique à toutes les méthodes Get* en mode séquentiel, car elles peuvent être appelées lors de la lecture d’un flux.
Context Connection=true est spécifié dans le chaîne de connexion.
Essayez de lire une colonne qui n’existe pas.
La valeur de la colonne a été null (IsDBNull(Int32) == true), récupérant un type non 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 :
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 ou UDT (tout type CLR marqué avec SqlUserDefinedTypeAttribute).
Pour plus d’informations, consultez le support de streaming SqlClient SqlClient Streaming Support.