Compartir a través de


SqlCommand.EndExecuteNonQuery(IAsyncResult) Método

Definición

Finaliza la ejecución asincrónica de una instrucción de 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

Parámetros

asyncResult
IAsyncResult

devuelto IAsyncResult por la llamada a BeginExecuteNonQuery() .

Devoluciones

Número de filas afectadas (el mismo comportamiento que ExecuteNonQuery() ).

Excepciones

asyncResult el parámetro es null ( Nothing en Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) se llamó más de una vez para una ejecución de un solo comando o el método no coincide con su método de ejecución (por ejemplo, el código al que se llama EndExecuteNonQuery(IAsyncResult) para completar la ejecución de una llamada a BeginExecuteXmlReader() .

La cantidad de tiempo especificado en CommandTimeout transcurrió y la operación asincrónica se especificada con BeginExecuteNonQuery() no se ha completado.

o bien

En algunas situaciones, IAsyncResult se puede establecer enIsCompleted Incorrectamente. Si esto ocurre y se llama a EndExecuteNonQuery(IAsyncResult), EndExecuteNonQuery podría generar un error de SqlException si la cantidad de tiempo especificada en CommandTimeout transcurrió y la operación asincrónica especificada con BeginExecuteNonQuery() no se completó. Para corregir esta situación, debe incrementar el valor de CommandTimeout o reducir el trabajo realizado por la operación asincrónica.

Ejemplos

Para obtener ejemplos que muestran el uso del EndExecuteNonQuery método , vea BeginExecuteNonQuery().

Comentarios

Al llamar BeginExecuteNonQuery() a para ejecutar una instrucción Transact-SQL, debe llamar EndExecuteNonQuery a para completar la operación. Si el proceso de ejecución del comando aún no ha finalizado, este método se bloquea hasta que se complete la operación. Los usuarios pueden comprobar que el comando ha completado su operación mediante la IAsyncResult instancia devuelta por el BeginExecuteNonQuery() método . Si se especificó un procedimiento de devolución de llamada en la llamada a , se debe llamar a BeginExecuteNonQuery()este método.

Se aplica a