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 (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.