SqlCommand.EndExecuteNonQuery(IAsyncResult) Metodo

Definizione

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 a BeginExecuteNonQuery() .

Restituisce

Numero di righe interessate (lo stesso comportamento ExecuteNonQuery() di ).

Eccezioni

asyncResult il 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() .

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 suIsCompleted Erroneamente. 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(), è necessario chiamare questo metodo.

Si applica a