DbDataReader.GetFieldValueAsync 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 comme type demandé.
Surcharges
| Nom | Description |
|---|---|
| GetFieldValueAsync<T>(Int32) |
Obtient de façon asynchrone la valeur de la colonne spécifiée comme type demandé. |
| GetFieldValueAsync<T>(Int32, CancellationToken) |
Obtient de façon asynchrone la valeur de la colonne spécifiée comme type demandé. |
GetFieldValueAsync<T>(Int32)
Obtient de façon asynchrone la valeur de la colonne spécifiée comme type demandé.
public:
generic <typename T>
System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)
Paramètres de type
- T
Type de la valeur à renvoyer.
Paramètres
- ordinal
- Int32
Ordinal de colonne de base zéro.
Retours
Tâche dont Result la valeur contient la colonne spécifiée.
Exceptions
La connexion a été supprimée ou fermée lors de la récupération des données.
-ou-
Le lecteur de données a été fermé pendant la récupération des données.
-ou-
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 elle est retournée false).
-ou-
Tentative de lecture d’une colonne lue précédemment en mode séquentiel.
-ou-
Une opération asynchrone s’est déroulée en cours. Cela s’applique à toutes les méthodes Get_*_ lors de l’exécution en mode séquentiel, car elles peuvent être appelées lors de la lecture d’un flux.
L’index de colonne est hors plage.
La valeur retournée par la base de données ne correspond pas ou ne peut pas être convertie en T.
Remarques
Cette méthode asynchrone est uniquement nécessaire pour éviter de bloquer le thread appelant lorsque le lecteur est créé en mode séquentiel.
Si le mode séquentiel n’est pas spécifié, toutes les valeurs de colonne doivent être disponibles en mémoire chaque fois que ReadAsync se termine et l’appel de la version synchrone de la méthode ne doit pas bloquer le thread appelant.
L’implémentation par défaut de cette méthode asynchrone appelle son équivalent synchrone et retourne une tâche terminée, ce qui peut bloquer le thread appelant.
Les fournisseurs de données qui prennent en charge la programmation asynchrone doivent remplacer l’implémentation par défaut à l’aide d’opérations d’E/S asynchrones.
Les autres méthodes et propriétés de l’objet DbDataReader ne doivent pas être appelées alors que la tâche retournée n’est pas encore terminée.
S’applique à
GetFieldValueAsync<T>(Int32, CancellationToken)
Obtient de façon asynchrone la valeur de la colonne spécifiée comme type demandé.
public:
generic <typename T>
virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)
Paramètres de type
- T
Type de la valeur à renvoyer.
Paramètres
- ordinal
- Int32
Ordinal de colonne de base zéro.
- cancellationToken
- CancellationToken
Jeton pour annuler l’opération asynchrone.
Retours
Tâche dont Result la valeur contient la colonne spécifiée.
Exceptions
La connexion a été supprimée ou fermée lors de la récupération des données.
-ou-
Le lecteur de données a été fermé pendant la récupération des données.
-ou-
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 elle est retournée false).
-ou-
Tentative de lecture d’une colonne lue précédemment en mode séquentiel.
-ou-
Une opération asynchrone s’est déroulée en cours. Cela s’applique à toutes les méthodes Get_*_ lors de l’exécution en mode séquentiel, car elles peuvent être appelées lors de la lecture d’un flux.
L’index de colonne est hors plage.
La valeur retournée par la base de données ne correspond pas ou ne peut pas être convertie en T.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
Remarques
Cette méthode asynchrone est uniquement nécessaire pour éviter de bloquer le thread appelant lorsque le lecteur est créé en mode séquentiel.
Si le mode séquentiel n’est pas spécifié, toutes les valeurs de colonne doivent être disponibles en mémoire chaque fois que ReadAsync se termine et l’appel de la version synchrone de la méthode ne doit pas bloquer le thread appelant.
L’implémentation par défaut de cette méthode asynchrone appelle son équivalent synchrone et retourne une tâche terminée, ce qui peut bloquer le thread appelant. L’implémentation par défaut retourne également une tâche annulée si elle a passé un jeton d’annulation déjà annulé.
Les fournisseurs de données qui prennent en charge la programmation asynchrone doivent remplacer l’implémentation par défaut à l’aide d’opérations d’E/S asynchrones.
Cette méthode accepte un jeton d’annulation qui peut être utilisé pour demander l’annulation anticipée de l’opération. Les implémentations peuvent ignorer cette demande.
Les autres méthodes et propriétés de l’objet DbDataReader ne doivent pas être appelées alors que la tâche retournée n’est pas encore terminée.