SqlCommand.EndExecuteNonQuery(IAsyncResult) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Termina l'esecuzione asincrona di un'istruzione 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
Parametri
- asyncResult
- IAsyncResult
Oggetto IAsyncResult restituito dalla chiamata a BeginExecuteNonQuery().
Valori restituiti
Numero di righe interessate (lo stesso comportamento di ExecuteNonQuery()).
Eccezioni
asyncResult parametro è null (Nothing in Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) è stato chiamato più volte per un'esecuzione di un singolo comando oppure il metodo non corrisponde al metodo di esecuzione, ad esempio il codice chiamato EndExecuteNonQuery(IAsyncResult) per completare l'esecuzione di una chiamata a BeginExecuteXmlReader().
La quantità di tempo specificata in CommandTimeout trascorso e l'operazione asincrona specificata con BeginExecuteNonQuery non è completata.
oppure
In alcune situazioni, IAsyncResult può essere impostato IsCompleted in modo non corretto. Se ciò si verifica e EndExecuteNonQuery(IAsyncResult) viene chiamato, EndExecuteNonQuery potrebbe generare un errore SqlException se il tempo specificato in CommandTimeout trascorso e l'operazione asincrona specificata con BeginExecuteNonQuery non è completata. Per risolvere questa situazione, è necessario aumentare il valore di CommandTimeout o ridurre il lavoro eseguito dall'operazione asincrona.
Esempio
Per esempi che illustrano l'uso del EndExecuteNonQuery metodo , vedere BeginExecuteNonQuery.
Commenti
Quando si chiama BeginExecuteNonQuery per eseguire un'istruzione Transact-SQL, è necessario chiamare EndExecuteNonQuery per completare l'operazione. Se il processo di esecuzione del comando non è ancora stato completato, questo metodo si blocca fino al completamento dell'operazione. Gli utenti possono verificare che il comando abbia completato l'operazione usando l'istanza IAsyncResult restituita dal BeginExecuteNonQuery metodo . Se è stata specificata una routine di callback nella chiamata a BeginExecuteNonQuery, questo metodo deve essere chiamato.