SqlCommand.EndExecuteNonQuery(IAsyncResult) Méthode

Définition

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

Int32

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, voir 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’a pas encore terminé, cette méthode 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 l’instance IAsyncResult 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.

S’applique à

Voir aussi