Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Possiamo annullare la query inviata al server sql?

Ci sono molte funzioni asincrone in ADO.NET, ad es. SqlCommand.BeginExecuteNonQuery .

Puoi chiamare queste funzioni nella tua applicazione, memorizzare l'oggetto risultato e annullarlo quando l'utente fa clic sul pulsante "Annulla".

Quindi in pseudo-codice puoi fare questi passaggi:

  1. L'utente fa clic su Cerca pulsante.
  2. Nel gestore del pulsante, apri la tua connessione DB e simili.
  3. Mostra il tuo Annulla pulsante.
  4. Chiama la funzione asincrona di ADO.NET di tua scelta.
  5. Memorizza il IAsyncResult oggetto restituito della chiamata di funzione (per rilevare quando l'operazione è terminata per nascondere nuovamente il pulsante di annullamento).
  6. Nel gestore del pulsante Annulla, chiama Cancel metodo di SqlCommand .