SqlCommand.EndExecuteNonQuery(IAsyncResult) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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( Nothing
Microsoft Visual Basic의 경우)
EndExecuteNonQuery(IAsyncResult)는 단일 명령 실행을 위해 두 번 이상 호출되었거나 메서드가 해당 실행 메서드와 일치하지 않습니다(예: 에 대한 호출 BeginExecuteXmlReader() 실행을 완료하기 위해 호출된 EndExecuteNonQuery(IAsyncResult) 코드).
CommandTimeout에 지정된 시간이 경과되었으며 BeginExecuteNonQuery()로 지정된 비동기 작업이 완료되지 않았습니다.
또는
경우에 따라 를 IAsyncResult 로 설정할 수 있습니다.IsCompleted
잘못. 이 상황이 발생하고 EndExecuteNonQuery(IAsyncResult)가 호출되면 CommandTimeout에 지정된 시간이 경과되었고 BeginExecuteNonQuery()로 지정된 비동기 작업이 완료되지 않은 경우 EndExecuteNonQuery로 인해 SqlException 오류가 발생할 수 있습니다. 이 상황을 해결하려면 CommandTimeout의 값을 높이거나 비동기 작업에 의해 수행되는 작업을 줄여야 합니다.
예제
메서드의 사용을 EndExecuteNonQuery 보여주는 예제는 를 참조하세요 BeginExecuteNonQuery().
설명
를 호출 BeginExecuteNonQuery() 하여 Transact-SQL 문을 실행할 때 작업을 완료하려면 를 호출 EndExecuteNonQuery 해야 합니다. 명령을 실행하는 프로세스가 아직 완료되지 않은 경우 이 메서드는 작업이 완료될 때까지 차단합니다. 사용자는 메서드에서 반환 BeginExecuteNonQuery() 된 인스턴스를 사용하여 명령이 IAsyncResult 작업을 완료했는지 확인할 수 있습니다. 에 대한 호출에서 콜백 프로시저를 지정한 경우 이 메서드를 BeginExecuteNonQuery()호출해야 합니다.