Класс COleDBRecordView

Представление, которое отображает записи базы данных в элементах управления.

Синтаксис

class COleDBRecordView : public CFormView

Участники

Защищенные конструкторы

Имя Описание
COleDBRecordView::COleDBRecordView Формирует объект COleDBRecordView.

Открытые методы

Имя Описание
COleDBRecordView::OnGetRowset Возвращает стандартное значение HRESULT.
COleDBRecordView::OnMove Обновления текущую запись (если грязное) в источнике данных, а затем переходит к указанной записи (следующей, предыдущей, первой или последней).

Замечания

Представление представляет собой представление формы, непосредственно подключенное к объекту CRowset . Представление создается из ресурса шаблона диалогового окна и отображает поля объекта в элементах управления диалогового CRowset окна. Объект COleDBRecordView использует диалоговый обмен данными (DDX) и встроенные CRowsetфункции навигации для автоматизации перемещения данных между элементами управления в форме и полями набора строк. COleDBRecordView также предоставляет реализацию по умолчанию для перехода на первую, следующую, предыдущую или последнюю запись и интерфейс для обновления записи в настоящее время в представлении.

Функции DDX можно использовать для COleDbRecordView получения данных непосредственно из набора записей базы данных и отображения его в элементе управления диалоговым окном. Следует использовать DDX_* методы (например DDX_Text, не DDX_Field* функции (например DDX_FieldText) с COleDbRecordView. DDX_FieldText не будет работать, COleDbRecordView так как DDX_FieldText принимает дополнительный аргумент типа CRecordset* (для CRecordView) или CDaoRecordset* (для CDaoRecordView).

Примечание.

Если вы работаете с классами объектов доступа к данным (DAO), а не с классами шаблонов шаблона OLE DB, используйте вместо этого класс 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
Содержит идентификатор ресурса диалогового шаблона.

Замечания

При создании объекта типа, производного от COleDBRecordView, вызовите один из конструкторов, чтобы создать объект представления и определить ресурс диалогового окна, на котором основано представление. Ресурс можно определить по имени (передать строку в качестве аргумента конструктору) или идентификатором ресурса (передать целое число без знака в качестве аргумента).

Примечание.

Производный класс должен предоставить собственный конструктор. В конструкторе вызовите конструктор COleDBRecordView::COleDBRecordViewс именем ресурса или идентификатором в качестве аргумента.

COleDBRecordView::OnGetRowset

Возвращает дескриптор объекта CRowset<> , связанного с представлением записи.

virtual CRowset<>* OnGetRowset() = 0;

Возвращаемое значение

Стандартное значение 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_RECORD_FIRST — переход к первой записи в наборе записей.

  • ID_RECORD_LAST — переход к последней записи в наборе записей.

  • ID_RECORD_NEXT — перейдите к следующей записи в наборе записей.

  • ID_RECORD_PREV — перейдите к предыдущей записи в наборе записей.

Возвращаемое значение

Ненулевое значение, если перемещение выполнено успешно; в противном случае значение 0, если запрос на перемещение был отклонен.

Замечания

Реализация по умолчанию вызывает соответствующую Move функцию-член объекта, связанного CRowset с представлением записи.

По умолчанию обновляет текущую запись в источнике данных, OnMove если пользователь изменил его в представлении записи.

Мастер приложений создает ресурс меню с элементами меню "Первая запись", "Последняя запись", "Следующая запись" и "Предыдущая запись". Если выбрать параметр панели инструментов для закрепления, мастер приложений также создает панель инструментов с кнопками, соответствующими этим командам.

Если вы перемещаете последнюю запись в наборе записей, представление записей продолжает отображать последнюю запись. При перемещении назад после первой записи представление записи продолжает отображать первую запись.

См. также

Диаграмма иерархии