데이터 업데이트 및 유지
이전 챕터에서는 ADO를 사용하여 데이터 원본의 데이터를 가져오는 방법, 데이터에서 이동하는 방법 및 데이터를 편집하는 방법에 대해 설명했습니다. 물론 애플리케이션의 목표가 사용자가 데이터를 변경할 수 있도록 허용하는 경우 이러한 변경 내용을 저장하는 방법을 이해해야 합니다. Save 메서드를 사용하여 Recordset 변경 내용을 파일에 유지하거나 Update 또는 UpdateBatch 메서드를 사용하여 변경 내용을 스토리지에 대한 데이터 원본으로 다시 보낼 수 있습니다.
이전 챕터에서는 Recordset의 여러 행에서 데이터를 변경했습니다. ADO는 데이터 행의 추가, 삭제 및 수정과 관련된 두 가지 기본 개념을 지원합니다.
첫 번째 개념은 Recordset을 즉시 변경하지 않는다는 것입니다. 대신 내부 복사 버퍼로 만들어집니다. 변경을 원하지 않으면 복사 버퍼의 수정 내용이 삭제됩니다. 변경 내용을 유지하려는 경우 복사 버퍼의 변경 내용이 Recordset에 적용됩니다.
두 번째 개념은 행 완료(즉, 즉시 모드)에 대한 작업을 선언하는 즉시 변경 내용이 데이터 원본에 전파되거나 집합 완료(즉, 일괄 처리 모드)에 대한 작업을 선언할 때까지 행 세트에 대한 모든 변경 내용이 수집된다는 것입니다. LockType 속성은 기본 데이터 원본을 변경하는 시기를 결정합니다. adLockOptimistic 또는 adLockPessimistic은 즉시 모드를 지정하고 adLockBatchOptimistic은 일괄 처리 모드를 지정합니다. CursorLocation 속성은 사용 가능한 LockType 설정에 영향을 줄 수 있습니다. 예를 들어 CursorLocation 속성이 adUseClient로 설정된 경우 adLockPessimistic 설정은 지원되지 않습니다.
즉시 모드에서 Update 메서드의 각 호출은 변경 내용을 데이터 원본에 전파합니다. 일괄 처리 모드에서는 현재 행 위치의 Update 또는 이동을 호출할 때마다 변경 내용이 복사 버퍼에 저장되지만 UpdateBatch 메서드만 변경 내용을 데이터 원본에 전파합니다.
이 섹션에서는 다음 항목을 다룹니다.