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

IAsyncResult que devuelve la llamada a BeginExecuteNonQuery().

Devoluciones

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

Excepciones

El parámetro asyncResult es nulo (Nothing en Microsoft Visual Basic)

Se llamó a EndExecuteNonQuery(IAsyncResult) más de una vez para una única ejecución de comando o el método no coincidía con su método de ejecución (por ejemplo, el código llamó a EndExecuteNonQuery(IAsyncResult) para que finalizara 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 en IsCompleted 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

Cuando llame 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 BeginExecuteNonQueryeste método.

Se aplica a

Consulte también