SqlCommand.EndExecuteNonQuery(IAsyncResult) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.