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