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 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.

Si applica a

Vedi anche