다음을 통해 공유


Delete 메서드(ADO 레코드 집합)

현재 레코드 또는 레코드 그룹을 삭제합니다.

구문

  
recordset.Delete AffectRecords  

매개 변수

AffectRecords
Delete 메서드가 영향을 줄 레코드 수를 결정하는 AffectEnum 값입니다. 기본값은 adAffectCurrent입니다.

참고

adAffectAlladAffectAllChaptersDelete에 대한 유효한 인수가 아닙니다.

설명

Delete 메서드를 사용하면 삭제할 Recordset 개체의 현재 레코드 또는 레코드 그룹을 표시합니다. Recordset 개체에서 레코드 삭제를 허용하지 않으면 오류가 발생합니다. 즉시 업데이트 모드인 경우 데이터베이스에서 즉시 삭제됩니다. 예를 들어 데이터베이스 무결성 위반으로 인해 레코드를 성공적으로 삭제할 수 없는 경우 레코드는 Update 호출 후 편집 모드로 유지됩니다. 즉, 현재 레코드에서 이동하기 전에 CancelUpdate로 업데이트를 취소해야 합니다(예: Close, Move 또는 NextRecordset 사용).

일괄 업데이트 모드인 경우 레코드가 캐시에서 삭제되도록 표시되고 UpdateBatch 메서드를 호출할 때 실제로 삭제됩니다. Filter 속성을 사용하여 삭제된 레코드를 봅니다.

삭제된 레코드에서 필드 값을 검색하면 오류가 발생합니다. 현재 레코드를 삭제하면 삭제된 레코드는 다른 레코드로 이동할 때까지 현재 상태로 유지됩니다. 삭제된 레코드에서 벗어나면 더 이상 액세스할 수 없습니다.

트랜잭션에서 삭제를 중첩하는 경우 RollbackTrans 메서드를 사용하여 삭제된 레코드를 복구할 수 있습니다. 일괄 업데이트 모드인 경우 CancelBatch 메서드를 사용하여 보류 중인 삭제 또는 보류 중인 삭제 그룹을 취소할 수 있습니다.

기본 데이터와의 충돌로 인해 레코드 삭제 시도가 실패하는 경우(예: 다른 사용자가 레코드를 이미 삭제한 경우) 공급자는 Errors 컬렉션에 경고를 반환하지만 프로그램 실행을 중단하지는 않습니다. 런타임 오류는 요청된 모든 레코드에 충돌이 있는 경우에만 발생합니다.

Unique Table 동적 속성이 설정되어 있고 Recordset가 여러 테이블에서 JOIN 작업을 실행한 결과인 경우 Delete 메서드는 Unique Table 속성에 명명된 테이블에서만 행을 삭제합니다.

적용 대상

레코드 집합 개체(ADO)

참고 항목

Delete 메서드 예제(VB)
Delete 메서드 예제(VBScript)
Delete 메서드 예제(VC++)
Delete 메서드(ADO 필드 컬렉션)
Delete 메서드(ADO 매개 변수 컬렉션)
DeleteRecord 메서드(ADO)