다음을 통해 공유


UpdateBatch 메서드

보류 중인 모든 일괄 업데이트를 디스크에 씁니다.

구문

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

매개 변수

AffectRecords
(선택 사항) UpdateBatch 메서드가 영향을 줄 레코드 수를 나타내는 AffectEnum 값입니다.

PreserveStatus
(선택 사항) Status 속성에 표시된 대로 로컬 변경 내용을 커밋해야 하는지 여부를 지정하는 부울 값입니다. 이 값을 True로 설정하면 업데이트가 완료된 후에도 각 레코드의 Status 속성이 변경되지 않은 상태로 유지됩니다.

설명

일괄 업데이트 모드에서 Recordset 개체를 수정할 때 UpdateBatch 메서드를 사용하여 Recordset 개체의 모든 변경 내용을 기본 데이터베이스로 전송합니다.

Recordset 개체가 일괄 처리 업데이트를 지원하는 경우 UpdateBatch 메서드를 호출할 때까지 하나 이상의 레코드에 대한 여러 변경 내용을 로컬로 캐시할 수 있습니다. UpdateBatch 메서드를 호출할 때 현재 레코드를 편집하거나 새 레코드를 추가하는 경우 ADO는 Update 메서드를 자동으로 호출하여 일괄 처리된 변경 내용을 공급자에게 전송하기 전에 보류 중인 변경 내용을 현재 레코드에 저장합니다. 키 집합 또는 정적 커서로만 일괄 업데이트를 사용해야 합니다.

참고

adAffectGroup을 이 매개 변수 값으로 지정하면 현재 레코드 집합에 레코드가 표시되지 않는 경우(예: 레코드가 일치하지 않는 필터) 오류가 발생합니다.

기본 데이터와의 충돌(예: 다른 사용자가 레코드를 이미 삭제한 경우)로 인해 모든 레코드의 변경 내용을 전송하는 시도가 실패하면 공급자는 Errors 컬렉션에 경고를 반환하고 런타임 오류가 발생합니다. Filter 속성(adFilterAffectedRecords) 및 Status 속성을 사용하여 충돌이 있는 레코드를 찾습니다.

보류 중인 모든 일괄 업데이트를 취소하려면 CancelBatch 메서드를 사용합니다.

Unique TableUpdate Resync 동적 속성이 설정되고 레코드 집합이 여러 테이블에서 JOIN 작업을 실행한 결과인 경우 Resync 메서드 실행 후에 Update Resync 속성의 설정에 따라 암시적으로 UpdateBatch 메서드가 실행됩니다.

데이터 원본에서 개별 일괄 처리 업데이트가 수행되는 순서는 반드시 로컬 레코드 집합에서 수행된 순서와 동일하지는 않습니다. 업데이트 순서는 공급자에 따라 달라집니다. 삽입 또는 업데이트에 대한 외래 키 제약 조건과 같이 서로 관련된 업데이트를 코딩할 때 이를 고려합니다.

적용 대상

레코드 집합 개체(ADO)

참고 항목

UpdateBatch 및 CancelBatch 메서드 예제(VB)
UpdateBatch 및 CancelBatch 메서드 예제(VC++)
CancelBatch 메서드(ADO)
Clear 메서드(ADO)
LockType 속성(ADO)
Update 메서드