Close 메서드(ADO)

열려 있는 개체와 종속 개체를 닫습니다.

구문

  
object.Close  

설명

Close 메서드를 사용하여 Connection, Record, Recordset 또는 Stream 개체를 닫아 연결된 시스템 리소스를 모두 해제합니다. 개체를 닫아도 메모리에서 제거되지 않습니다. 해당 속성 설정을 변경할 수 있고 나중에 다시 열 수 있습니다. 메모리에서 개체를 완전히 제거하려면 개체를 닫은 다음 개체 변수를 Nothing(Visual Basic)으로 설정합니다.

연결

Close 메서드를 사용하여 Connection 개체를 닫을 경우 연결과 연결된 활성 Recordset 개체도 닫힙니다. 닫고 있는 Connection 개체와 연결된 Command 개체는 유지되지만 더 이상 Connection 개체와 연결되지 않습니다. 즉, ActiveConnection 속성이 Nothing으로 설정됩니다. 또한 Command 개체의 Parameters 컬렉션은 공급자 정의 매개 변수에서 삭제됩니다.

나중에 Open 메서드를 호출하여 동일한 데이터 원본 또는 다른 데이터 원본에 대한 연결을 다시 설정할 수 있습니다. Connection 개체가 닫혀 있는 동안 데이터 원본에 대한 열려 있는 연결이 필요한 메서드를 호출하면 오류가 발생합니다.

연결에 열려 있는 Recordset 개체가 있는 동안 Connection 개체를 닫으면 모든 Recordset 개체에서 보류 중인 변경 내용이 롤백됩니다. 트랜잭션이 진행되는 동안 Connection 개체를 명시적으로 닫으면(Close 메서드를 호출) 오류가 발생합니다. 트랜잭션이 진행되는 동안 Connection 개체가 범위를 벗어나면 ADO는 자동으로 트랜잭션을 롤백합니다.

레코드 집합, 레코드, 스트림

Close 메서드를 사용하여 Recordset, Record 또는 Stream 개체를 닫으면 연결된 데이터와 이 특정 개체를 통한 데이터에 대한 단독 액세스 권한이 해제됩니다. 나중에 Open 메서드를 호출하여 동일한 또는 수정된 특성으로 개체를 다시 열 수 있습니다.

Recordset 개체가 닫혀 있는 동안 라이브 커서가 필요한 메서드를 호출하면 오류가 발생합니다.

즉시 업데이트 모드에서 편집이 진행 중인 경우 Close 메서드를 호출하면 오류가 발생합니다. 대신, Update 또는 CancelUpdate 메서드를 먼저 호출합니다. 일괄 업데이트 모드에서 Recordset 개체를 닫으면 마지막 UpdateBatch 호출 이후의 모든 변경 내용이 손실됩니다.

Clone 메서드를 사용하여 열려 있는 Recordset 개체의 복사본을 만드는 경우 원본 또는 복제본을 닫아도 다른 복사본에는 영향을 주지 않습니다.

적용 대상

참고 항목

Open 및 Close 메서드 예제(VB)
Open 및 Close 메서드 예제(VBScript)
Open 및 Close 메서드 예제(VC++)
Open 메서드(ADO 연결)
Open 메서드(ADO 레코드 집합)
Save 메서드