Partager via


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

Nombre de lignes affectées (le même comportement que ExecuteNonQuery() ).

Exceptions

asyncResult paramètre null ( Nothing dans Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) a été appelé plusieurs fois pour une seule exécution de commande, ou la méthode n’était pas en correspondance avec sa méthode d’exécution (par exemple, le code 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, IAsyncResult peut être défini surIsCompleted Incorrectement. 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 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 à