Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pouvons-nous annuler la requête envoyée au serveur SQL ?

Il existe de nombreuses fonctions asynchrones dans ADO.NET, par ex. SqlCommand.BeginExecuteNonQuery .

Vous pouvez appeler ces fonctions dans votre application, stocker l'objet résultat et l'annuler lorsque l'utilisateur clique sur le bouton "Annuler".

Ainsi, en pseudo-code, vous pouvez effectuer ces étapes :

  1. L'utilisateur clique sur Rechercher bouton.
  2. Dans le gestionnaire du bouton, ouvrez votre connexion à la base de données, etc.
  3. Montrez votre Annuler bouton.
  4. Appelez la fonction asynchrone ADO.NET de votre choix.
  5. Stocker le IAsyncResult objet renvoyé de l'appel de la fonction (pour détecter la fin de l'opération pour masquer à nouveau le bouton d'annulation).
  6. Dans le gestionnaire du bouton d'annulation, appelez Cancel méthode de SqlCommand .