레코드 집합: 레코드 집합의 레코드 업데이트 방법(ODBC)

이 항목은 MFC ODBC 클래스에 적용됩니다.

데이터 원본에서 레코드를 선택하는 기능 외에도 레코드 집합은 선택적으로 선택한 레코드를 업데이트하거나 삭제하거나 새 레코드를 추가할 수 있습니다. 연결된 데이터 원본을 업데이트할 수 있는지 여부, 레코드 집합 개체를 만들 때 지정하는 옵션 및 생성된 SQL의 세 가지 요인에 따라 레코드 집합의 업데이트 가능성이 결정됩니다.

참고 항목

개체의 기반이 되는 CRecordset SQL은 레코드 집합의 업데이트 가능성에 영향을 줄 수 있습니다. 예를 들어 SQL에 조인 또는 GROUP BY 절이 포함된 경우 MFC는 업데이트 가능성을 FALSE로 설정합니다.

참고 항목

이 토픽은 대량 행 페치가 구현되지 않은 CRecordset에서 파생된 개체에 적용됩니다. 대량 행 가져오기를 사용하는 경우 레코드 집합: 대량으로 레코드 가져오기(ODBC)를 참조하세요.

이 항목에서는 다음 내용을 설명합니다.

레코드 집합: AddNew, Edit 및 Delete Work(ODBC) 에서 레코드 집합의 관점에서 이러한 함수의 동작을 설명하는 방법입니다.

레코드 집합: 자세한 정보 업데이트(ODBC)는 트랜잭션이 업데이트에 미치는 영향, 레코드 집합 또는 스크롤을 닫는 것이 진행 중인 업데이트에 미치는 영향 및 업데이트가 다른 사용자의 업데이트와 상호 작용하는 방식을 설명하여 레코드 집합 업데이트 스토리를 완료합니다.

레코드 집합 업데이트의 역할

다음 표에서는 프레임워크에서 수행하는 작업과 함께 레코드 집합을 사용하여 레코드를 추가, 편집 또는 삭제하는 역할을 보여 줍니다.

레코드 집합 업데이트: 사용자 및 프레임워크

사용자 프레임워크
데이터 원본을 업데이트할 수 있는지 또는 추가할 수 있는지 확인합니다. 데이터 원본의 업데이트 가능성 또는 추가성을 테스트하기 위한 CDatabase 멤버 함수를 제공합니다.
모든 형식의 변경 가능한 레코드 집합을 엽니다.
와 같은 CanUpdateCanAppend업데이트 함수를 호출 CRecordset 하여 레코드 집합을 업데이트할 수 있는지 여부를 확인합니다.
레코드 집합 멤버 함수를 호출하여 레코드를 추가, 편집 및 삭제합니다. 레코드 집합 개체와 데이터 원본 간에 데이터를 교환하는 메커니즘을 관리합니다.
필요에 따라 트랜잭션을 사용하여 업데이트 프로세스를 제어합니다. 트랜잭션을 CDatabase 지원하는 멤버 함수를 제공합니다.

트랜잭션에 대한 자세한 내용은 트랜잭션(ODBC)을 참조하세요.

편집 버퍼

전체적으로 레코드 집합의 필드 데이터 멤버는 하나의 레코드(현재 레코드)를 포함하는 편집 버퍼 역할을 합니다. 업데이트 작업은 이 버퍼를 사용하여 현재 레코드에서 작동합니다.

  • 레코드를 추가하면 편집 버퍼가 새 레코드를 작성하는 데 사용됩니다. 레코드 추가를 마치면 이전에 있던 레코드가 다시 현재 상태가 됩니다.

  • 레코드를 업데이트(편집)할 때 편집 버퍼를 사용하여 레코드 집합의 필드 데이터 멤버를 새 값으로 설정합니다. 업데이트가 완료되면 업데이트된 레코드는 여전히 최신 상태입니다.

AddNew 또는 Edit를 호출하면 현재 레코드가 저장되므로 나중에 필요에 따라 복원할 수 있습니다. Delete를 호출할 때 현재 레코드는 저장되지 않지만 삭제된 것으로 표시되며 다른 레코드로 스크롤해야 합니다.

참고 항목

편집 버퍼는 레코드 삭제에서 아무 역할도 하지 않습니다. 현재 레코드를 삭제하면 레코드가 삭제된 것으로 표시되고 다른 레코드로 스크롤할 때까지 레코드 집합이 "레코드에 없음"으로 표시됩니다.

다이내셋 및 스냅샷

다이내셋 은 레코드로 스크롤할 때 레코드의 내용을 새로 고칩니다. 스냅샷은 레코드의 정적 표현이므로 Requery를 호출하지 않는 한 레코드의 내용이 새로 고쳐지지 않습니다. 다이나셋의 모든 기능을 사용하려면 올바른 수준의 ODBC API 지원을 준수하는 ODBC 드라이버로 작업해야 합니다. 자세한 내용은 ODBCDynaset을 참조하세요.

참고 항목

레코드 집합(ODBC)
레코드 집합: AddNew, Edit 및 Delete의 작동 방식(ODBC)