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 para BeginExecuteNonQuery() .
Retornos
O número de linhas afetadas (o mesmo comportamento que ExecuteNonQuery() ).
Exceções
asyncResult
parâmetro é nulo ( Nothing
no Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) foi chamado mais de uma vez para uma única execução de comando ou o método foi incompatível com seu método de execução (por exemplo, o código chamado EndExecuteNonQuery(IAsyncResult) para concluir a execução de uma chamada para 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 comoIsCompleted
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.