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 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.

Aplica-se a