SqlCommand.EndExecuteNonQuery(IAsyncResult) 메서드

정의

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

매개 변수

asyncResult
IAsyncResult

IAsyncResult 호출에서 반환되는 입니다BeginExecuteNonQuery().

반품

영향을 받는 행의 수(동작과 동일 ExecuteNonQuery())입니다.

예외

asyncResult 매개 변수가 null입니다(Microsoft Visual Basic Nothing).

EndExecuteNonQuery(IAsyncResult)는 단일 명령 실행을 위해 두 번 이상 호출되었거나 메서드가 해당 실행 메서드와 일치하지 않습니다(예: 호출 BeginExecuteXmlReader()실행을 완료하기 위해 호출된 EndExecuteNonQuery(IAsyncResult) 코드).

경과된 CommandTimeout 시간 및 지정된 비동기 작업이 BeginExecuteNonQuery 완료되지 않았습니다.

-또는-

경우에 따라 IAsyncResult 잘못 설정할 IsCompleted 수 있습니다. 이 문제가 발생하고 EndExecuteNonQuery(IAsyncResult) 호출되면 EndExecuteNonQuery는 경과된 CommandTimeout 시간 및 지정된 BeginExecuteNonQuery 비동기 작업이 완료되지 않은 경우 SqlException 오류를 발생시킬 수 있습니다. 이 상황을 해결하려면 CommandTimeout 값을 늘리거나 비동기 작업으로 수행되는 작업을 줄여야 합니다.

예제

메서드 사용을 EndExecuteNonQuery 보여주는 예제는 다음을 참조하세요 BeginExecuteNonQuery.

설명

BeginExecuteNonQuery 호출하여 Transact-SQL 문을 실행하는 경우 작업을 완료하려면 EndExecuteNonQuery 호출해야 합니다. 명령을 실행하는 프로세스가 아직 완료되지 않은 경우 이 메서드는 작업이 완료될 때까지 차단합니다. 사용자는 메서드에서 반환 BeginExecuteNonQuery 된 인스턴스를 사용하여 명령이 IAsyncResult 작업을 완료했는지 확인할 수 있습니다. 호출에서 콜백 프로시저를 지정한 경우 이 메서드를 BeginExecuteNonQuery호출해야 합니다.

적용 대상

추가 정보