다음을 통해 공유


COleDBRecordView 클래스

컨트롤에 데이터베이스 레코드를 표시하는 뷰입니다.

구문

class COleDBRecordView : public CFormView

멤버

보호된 생성자

속성 설명
COleDBRecordView::COleDBRecordView COleDBRecordView 개체를 생성합니다.

공용 메서드

이름 설명
COleDBRecordView::OnGetRowset 표준 HRESULT 값을 반환합니다.
COleDBRecordView::OnMove 데이터 원본에서 현재 레코드(더티 경우)를 업데이트 지정한 레코드(다음, 이전, 첫 번째 또는 마지막)로 이동합니다.

설명

보기는 개체에 직접 연결된 양식 보기입니다 CRowset . 보기는 대화 상자 템플릿 리소스에서 만들어지고 대화 상자 템플릿의 CRowset 컨트롤에 개체의 필드를 표시합니다. 개체는 COleDBRecordView DDX(대화 상자 데이터 교환) 및 기본 제공 CRowset탐색 기능을 사용하여 폼의 컨트롤과 행 집합 필드 간의 데이터 이동을 자동화합니다. COleDBRecordView 또한 첫 번째, 다음, 이전 또는 마지막 레코드로 이동하기 위한 기본 구현과 현재 보기에 있는 레코드를 업데이트하기 위한 인터페이스를 제공합니다.

DDX 함수를 COleDbRecordView 사용하여 데이터베이스 레코드 집합에서 직접 데이터를 가져와서 대화 상자 컨트롤에 표시할 수 있습니다. 와 함께 COleDbRecordView함수(예: )가 아닌 DDX_Field* 메서드(예DDX_FieldText: DDX_Text)를 사용해야 DDX_* 합니다. DDX_FieldText는 형식 CRecordset* (for) 또는 CDaoRecordset* (CDaoRecordViewfor)의 추가 인수를 CRecordView사용하므로 DDX_FieldText 작동하지 COleDbRecordView 않습니다.

참고 항목

OLE DB 소비자 템플릿 클래스가 아닌 DAO(Data Access Objects) 클래스를 사용하는 경우 CDaoRecordView 클래스를 대신 사용합니다. 자세한 내용은 개요: 데이터베이스 프로그래밍 문서를 참조하세요.

COleDBRecordView 는 레코드 뷰가 사용자 인터페이스를 업데이트할 수 있도록 행 집합에서 사용자의 위치를 추적합니다. 사용자가 행 집합의 양쪽 끝으로 이동하면 레코드 보기에서 메뉴 항목 또는 도구 모음 단추와 같은 사용자 인터페이스 개체를 사용하지 않도록 설정하여 같은 방향으로 더 멀리 이동할 수 없습니다.

행 집합 클래스에 대한 자세한 내용은 OLE DB 소비자 템플릿 사용 문서를 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

COleDBRecordView

요구 사항

헤더: afxoledb.h

COleDBRecordView::COleDBRecordView

COleDBRecordView 개체를 생성합니다.

COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);

매개 변수

lpszTemplateName
대화 상자 템플릿 리소스의 이름인 null로 끝나는 문자열을 포함합니다.

nIDTemplate
대화 상자 템플릿 리소스의 ID 번호를 포함합니다.

설명

파생된 COleDBRecordView형식의 개체를 만들 때 생성자 중 하나를 호출하여 뷰 개체를 만들고 뷰의 기반이 되는 대화 상자 리소스를 식별합니다. 이름(문자열을 생성자에 인수로 전달) 또는 ID(부호 없는 정수를 인수로 전달)로 리소스를 식별할 수 있습니다.

참고 항목

파생 클래스 는 자체 생성자를 제공해야 합니다 . 생성자에서 리소스 이름 또는 ID를 인수로 사용하여 생성자를 COleDBRecordView::COleDBRecordView호출합니다.

COleDBRecordView::OnGetRowset

레코드 뷰와 연결된 CRowset<> 개체에 대한 핸들을 반환합니다.

virtual CRowset<>* OnGetRowset() = 0;

Return Value

표준 HRESULT 값입니다.

설명

행 집합 개체를 생성하거나 가져오고 핸들을 반환하려면 이 멤버 함수를 재정의해야 합니다. ClassWizard를 사용하여 레코드 뷰 클래스를 선언하면 마법사에서 기본 재정의를 작성합니다. ClassWizard의 기본 구현은 레코드 뷰에 저장된 행 집합 핸들(있는 경우)을 반환합니다. 그렇지 않은 경우 ClassWizard로 지정한 형식의 행 집합 개체를 생성하고 해당 멤버 함수를 Open 호출하여 테이블을 열거나 쿼리를 실행한 다음 개체에 대한 핸들을 반환합니다.

참고 항목

MFC 7.0 OnGetRowset 이전에는 포인터를 반환했습니다 CRowset. 호출 OnGetRowset하는 코드가 있는 경우 반환 형식을 템플릿화된 클래스 CRowset<>으로 변경해야 합니다.

예시

CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();

// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();

자세한 내용 및 예제는 레코드 뷰: 레코드 뷰 사용 문서를 참조하세요.

COleDBRecordView::OnMove

행 집합의 다른 레코드로 이동하고 레코드 뷰의 컨트롤에 해당 필드를 표시합니다.

virtual BOOL OnMove(UINT nIDMoveCommand);

매개 변수

nIDMoveCommand
다음 표준 명령 ID 값 중 하나입니다.

  • ID_RECORD_FIRST — 레코드 집합의 첫 번째 레코드로 이동합니다.

  • ID_RECORD_LAST - 레코드 집합의 마지막 레코드로 이동합니다.

  • ID_RECORD_NEXT — 레코드 집합의 다음 레코드로 이동합니다.

  • ID_RECORD_PREV — 레코드 집합의 이전 레코드로 이동합니다.

Return Value

이동에 성공하면 0이 아닌 경우 이동 요청이 거부된 경우 그렇지 않으면 0입니다.

설명

기본 구현은 레코드 뷰와 연결된 개체의 CRowset 적절한 Move 멤버 함수를 호출합니다.

기본적으로 OnMove 사용자가 레코드 보기에서 변경한 경우 데이터 원본의 현재 레코드를 업데이트합니다.

애플리케이션 마법사는 첫 번째 레코드, 마지막 레코드, 다음 레코드 및 이전 레코드 메뉴 항목을 사용하여 메뉴 리소스를 만듭니다. 도킹 가능한 도구 모음 옵션을 선택하면 애플리케이션 마법사도 이러한 명령에 해당하는 단추가 있는 도구 모음을 만듭니다.

레코드 집합의 마지막 레코드를 지나면 레코드 보기가 마지막 레코드를 계속 표시합니다. 첫 번째 레코드를 뒤로 이동하면 레코드 뷰에 첫 번째 레코드가 계속 표시됩니다.

참고 항목

계층 구조 차트