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
Retourné IAsyncResult par l’appel à BeginExecuteNonQuery().
Retours
Nombre de lignes affectées (le même comportement que ExecuteNonQuery()).
Exceptions
asyncResult paramètre a la valeur Null (Nothing dans Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) a été appelé plusieurs fois pour une seule exécution de commande, ou la méthode était incompatible avec sa méthode d’exécution (par exemple, le code appelé EndExecuteNonQuery(IAsyncResult) pour terminer l’exécution d’un appel à BeginExecuteXmlReader().
Durée spécifiée en CommandTimeout temps écoulé et l’opération asynchrone spécifiée avec BeginExecuteNonQuery n’est pas terminée.
-ou-
Dans certaines situations, IAsyncResult il peut être défini de IsCompleted manière incorrecte. Si cela se produit et EndExecuteNonQuery(IAsyncResult) est appelé, EndExecuteNonQuery peut déclencher une erreur SqlException si la durée spécifiée en CommandTimeout temps écoulé et 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’a pas encore terminé, cette méthode se bloque tant que l’opération n’est pas 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, BeginExecuteNonQuerycette méthode doit être appelée.