Compartilhar via


SqlCommand.EndExecuteNonQuery(IAsyncResult) Método

Definição

Termina a execução assíncrona de uma instrução 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

O IAsyncResult retornado pela chamada ao BeginExecuteNonQuery().

Retornos

O número de linhas afetadas (o mesmo comportamento que ExecuteNonQuery()).

Exceções

O parâmetro asyncResult é nulo (Nothing no Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) foi chamado mais de uma vez para uma única execução do comando ou o método não correspondeu ao seu método de execução (por exemplo, o código chamou EndExecuteNonQuery(IAsyncResult) para concluir a execução de uma chamada ao BeginExecuteXmlReader().

O período de tempo especificado em CommandTimeout decorrido e a operação assíncrona especificada com BeginExecuteNonQuery não foi concluída.

- ou -

Em algumas situações, IAsyncResult pode ser definido como IsCompleted incorretamente. Se isso ocorresse e EndExecuteNonQuery(IAsyncResult) fosse chamado, EndExecuteNonQuery poderia gerar um erro SqlException se a quantidade de tempo especificada em CommandTimeout decorresse e se a operação assíncrona especificada com BeginExecuteNonQuery não fosse concluída. Para corrigir essa situação, você deve aumentar o valor de CommandTimeout ou reduzir o trabalho sendo feito pela operação assíncrona.

Exemplos

Para obter exemplos que demonstram o uso do EndExecuteNonQuery método , consulte BeginExecuteNonQuery.

Comentários

Ao chamar BeginExecuteNonQuery para executar uma instrução Transact-SQL, você deve chamar EndExecuteNonQuery para concluir a operação. Se o processo de execução do comando ainda não tiver sido concluído, esse método será bloqueado até que a operação seja concluída. Os usuários podem verificar se o comando concluiu sua operação usando a IAsyncResult instância retornada pelo BeginExecuteNonQuery método . Se um procedimento de retorno de chamada tiver sido especificado na chamada para BeginExecuteNonQuery, esse método deverá ser chamado.

Aplica-se a

Confira também