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.
Completa 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 all'oggetto BeginExecuteNonQuery().
Restituisce
Numero di righe interessate. Il comportamento è identico a quello del metodo ExecuteNonQuery().
Eccezioni
Il parametro asyncResult
è Null (Nothing
in Microsoft Visual Basic).
EndExecuteNonQuery(IAsyncResult) è stato chiamato più di una volta per l'esecuzione di un singolo comando oppure il metodo non corrispondeva al relativo metodo di esecuzione (ad esempio, il codice ha chiamato EndExecuteNonQuery(IAsyncResult) per completare l'esecuzione di una chiamata a BeginExecuteXmlReader().
L'intervallo di tempo specificato in CommandTimeout è scaduto e l'operazione asincrona specificata con BeginExecuteNonQuery non è stata completata.
-oppure-
In alcune situazioni, IAsyncResult può essere impostato su IsCompleted
in modo non corretto. In questo caso, e se viene chiamato EndExecuteNonQuery(IAsyncResult), EndExecuteNonQuery potrebbe generare un errore SqlException se l'intervallo di tempo specificato in CommandTimeout è scaduto e l'operazione asincrona specificata con BeginExecuteNonQuery non è stata completata. Per risolvere questo problema, è necessario aumentare il valore di CommandTimeout o ridurre il lavoro svolto 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.