SqlCommand.EndExecuteNonQuery(IAsyncResult) 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.
Termine l'exécution asynchrone d'une instruction Transact-SQL.
public:
int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery (IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer
Paramètres
- asyncResult
- IAsyncResult
IAsyncResult retourné par l'appel à BeginExecuteNonQuery()
Retours
Nombre de lignes affectées (comportement identique à ExecuteNonQuery()).
Exceptions
Le paramètre asyncResult
a la valeur null (Nothing
dans Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) a été appelé plusieurs fois pour une exécution de commande unique, ou la méthode est incompatible avec sa méthode d’exécution (par exemple, le code a appelé EndExecuteNonQuery(IAsyncResult) pour terminer l’exécution d’un appel à BeginExecuteXmlReader().
La durée spécifiée dans CommandTimeout s’est écoulée, et l’opération asynchrone spécifiée avec BeginExecuteNonQuery n’est pas terminée.
- ou -
Dans certaines situations, la valeur IsCompleted
peut-être affectée à IAsyncResult de manière incorrecte. Si cela se produit et que EndExecuteNonQuery(IAsyncResult) est appelé, EndExecuteNonQuery peut générer une erreur SqlException si la durée spécifiée dans CommandTimeout s’est écoulée et que l’opération asynchrone spécifiée avec BeginExecuteNonQuery n’est pas terminée. Pour corriger cette situation, vous devez augmenter la valeur de CommandTimeout ou réduire le travail effectué par l’opération asynchrone.
Exemples
Pour obtenir des exemples illustrant l’utilisation de la EndExecuteNonQuery méthode , consultez BeginExecuteNonQuery.
Remarques
Lorsque vous appelez BeginExecuteNonQuery pour exécuter une instruction Transact-SQL, vous devez appeler EndExecuteNonQuery pour terminer l’opération. Si le processus d’exécution de la commande n’est pas encore terminé, cette méthode se bloque jusqu’à ce que l’opération soit terminée. Les utilisateurs peuvent vérifier que la commande a terminé son opération à l’aide de la IAsyncResult instance retournée par la BeginExecuteNonQuery méthode . Si une procédure de rappel a été spécifiée dans l’appel à BeginExecuteNonQuery, cette méthode doit être appelée.