Применение ADO Data Control

   
На этом шаге мы начнем рассматривать использование элемента ADO Data Control в приложении.

   
ADO Data Control - это графический элемент управления на базе ActiveX с кнопками навигации по записям.
Он предоставляет приложению удобный интерфейс для работы с базами данных и позволяет избежать дополнительного
кодирования. В ADO Data Control механизм ADO применяется для оперативного создания соединений
между поставщиками данных и связанными с данными элементами управления. Элементы управления, связанные с
данными, представляют собой ActiveX-элементы пользовательского интерфейса с двумя важными свойствами:

  • наличием параметра DataSource, в котором можно задать идентификатор элемента ADO Data Control;
  • способностью отображать данные, выбранные связанным с ним элементом ADO Data Control.

   
Когда элементы управления связаны с ADO Data Control, при просмотре записей все поля отображаются и
обновляются автоматически. Такое поведение реализовано в самих элементах и для этого не требуется ни одной
дополнительной строчки кода.

   
В Visual C++ есть несколько ActiveX-элементов для работы с данными, например
Microsoft DataGrid и Microsoft DataList. Кроме того, допустимо создавать собственные элементы
управления и использовать созданные сторонними организациями.

   
Сейчас создадим простое приложение на базе диалога, в котором ADO Data Control и DataGrid применяются
для отображения записей из таблицы авторов базы данных pubs. Кроме того, Вы научитесь задавать свойства
этих элементов управления из исходного кода Вашей программы.

  • Создание приложения ViewDB.
  • Создайте проект MFC AppWizard (.exe) для приложения ViewDB.
  • В окне 1 мастера AppWizard выберите Dialog based и щелкните Finish.
    Рис.1. Создание приложения на основе диалога (формы)
  • Подтвердите выбор, щелкнув ОК.

   
Приложение на базе диалога - это самый простой тип программы, которую можно сгенерировать средствами AppWizard;
в нем не поддерживается архитектура "документ/вид". Главным окном приложения является модальное диалоговое окно,
и при его закрытии программа прекращает работу.

   
AppWizard создает шаблон и класс диалога для главного окна. В приложении ViewDB это шаблон
IDD_VIEWDB_DIALOG и класс CViewDBDlg. Шаблон IDD_VIEWDB_DIALOG автоматически открывается в редакторе диалогов.

   
Элементы управления ADO Data Control и DataGrid Control no умолчанию устанавливаются вместе с
Visual C++. Однако, прежде чем поставить их в диалоговое окно приложения, Вы должны добавить их в
проект из галереи Components and Controls Gallery. Добавление ActiveX-элемента в проект позволяет:

  • выбирать на панели инструментов Controls значок, соответствующий элементу управления, чтобы разместить
    его в шаблоне диалога;
  • создавать классы C++, которые формируют оболочку для интерфейсов Automation, предоставленных элементами управления.

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

  • Добавление ActiveX-элемента в проект.
  • В подменю Add to Project меню Project выберите Components and Controls.
    Рис.2. Выбор Components and Controls
  • В Components and Controls Gallery дважды щелкните узел Registered ActiveX Controls, чтобы
    получить список всех зарегистрированных в системе ActiveX-элементов.
  • Щелкните Microsoft ADO Data Control, version 6.0 (OLE DB), a затем - Insert.
    Рис.3. Вставка Microsoft ADO Data Control
  • Вставьте элемент, щелкнув ОК. Щелкните еще раз ОК, чтобы подтвердить создание классов для этого элемента.
  • Точно так же добавьте второй элемент управления, указав в списке Microsoft DataGrid Control, Version 6.0 (OLE DB).
  • Закройте Components and Controls Gallery, щелкнув Close.

   
Теперь на панели инструментов Controls Вы должны увидеть значки для ADO Data Control и DataGrid Control.


Рис.4. Добавленные элементы

   
Отредактируйте шаблон диалога ID_DVIEWDB_DIALOG в соответствии с рисунком 5.


Рис.5. Редактирование шаблона IDD_VIEWDB_DIALOG

  • Редактирование шаблона IDD_VIEWDB_DIALOG.
  • Удалите статический текст TODO: Place dialog controls here.
  • Измените заголовок диалогового окна на View Database.
  • Добавьте элемент ADO Data Control, как это показано на рисунке 5, и удалите его заголовок.
    Идентификатор IDC_ADODC1 изменять не нужно.
  • Добавьте элемент DataGrid Control, как показано на рисунке 5, и озаглавьте его Authors.
    Идентификатор IDC_DATAGRID1 изменять не надо. На вкладке Control окна
    Properties для DataGrid Control сбросьте флажок AllowUpdate, чтобы элемент управления
    был доступен только для чтения.
  • Добавьте статический текст Order by: и рядом с ним поместите список. Его высоты должно хватать для
    размещения двух строк текста, как показано на рисунке 5. Присвойте ему идентификатор IDC_ORDERLIST.
  • Разместите кнопки ОК и Cancel, как показано на рисунке 5.

   
Текст этого приложения можно взять здесь (78,5 Кб).

   
На следующем шаге мы закончим создание приложения.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий