DataReaderExtensions.IsDBNullAsync 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 manière asynchrone une valeur qui indique si la colonne contient des valeurs inexistantes ou manquantes.
public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member IsDBNullAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function IsDBNullAsync (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)
Paramètres
- reader
- DbDataReader
Lecteur de données à partir duquel obtenir la valeur de colonne.
- name
- String
Nom de la colonne.
- cancellationToken
- CancellationToken
Jeton facultatif pour annuler l’opération asynchrone.
Retours
Task<TResult> dont la propriété Result est true
si la valeur de colonne spécifiée est équivalente à DBNull
ou false
si elle ne l’est pas.
Exceptions
La connexion a été supprimée ou fermée pendant la récupération des données.
- ou -
Le lecteur de données est fermé pendant la récupération des données.
- ou -
Il n'existe aucune donnée prête à être lue (par exemple, le premier Read() n'a pas été appelé ou retourné comme false).
- ou -
Tentative de lecture en cours d'une colonne précédemment lue en mode séquentiel.
- ou -
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.
Le nom spécifié n'est pas un nom de colonne valide.
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 bloque potentiellement le thread appelant. L’implémentation par défaut retourne également une tâche annulée si un jeton d’annulation déjà annulé est passé.
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 de l'opération plus tôt que prévu. 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 tant que la tâche retournée n'est pas terminée.
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par IsDBNull(DbDataReader, String).