Создание проекта
Data
Чтобы увидеть новый визуальный инструмент в действии, создайте новый проект и в диалоговом окне типа проекта выберите Data Project. Проект Data — это не специальный тип проекта, а стандартный ЕХЕ-проект, но Visual Basic при этом загружает, на панель элементов управления все инструменты для работы с базами данных.
В окне проводника проекта отобразится, как обычно, новая форма и два конструктора ActiveX. Конструктор ActiveX - это специальная надстройка (add-in), предназначенная для упрощения разработки двух типов компонентов:
• DataEnvironment,
• DataReport.
Компонент
Data Environment
предназначен для подключения к базе данных и получения из нее записи. Компонент DataReport позволяет создавать отчеты и использовать их в приложении. Оба компонента основаны на визуальных инструментах для работы с базами данных и не требуют программирования. Конечно, нельзя обойтись без программирования, но его способы программирования напоминают способы, рассмотренные в предыдущей главе.
Панель элементов управления проекта Data содержит большое количество элементов управления ActiveX. Перечислим некоторые из них.
• ADODC (ADO Data Control — элемент управления данными ADO) — эквивалентен элементу управления Data.
• DataList и DataCombo — усовершенствованные версии элементов управления ListBox и ComboBox, предназначенные для работы с базами данных (data-bound -связанные с данными). Работают с элементами управления ADO, но не с элементами управления DAO.
• MSHFlexGrid - иерархический элемент управления Grid (Сетка), который работает с элементами управления DAO. Элемент MSHFlexGrid похож на элемент управления MSFlexGrid (см. гл. 9), но заполняется автоматически с помощью конструктора DataEnvironment.
В следующем параграфе будут рассмотрены конструкторы ActiveX — DataEnvironment и DataReport. Чтобы понять, что такое конструктор ActiveX и как он облегчает разработку проекта Data, рассмотрим основные требования к приложению, работающему с базами данных.
Для доступа к базе данных с помощью ADO (или другого инструмента) необходимы объекты двух типов:
• один или более объектов Connection и
• один или более объектов Command.
Объект Connection соединяет приложение с базой данных, a Command —
извлекает записи из базы данных. Он может использоваться и для изменения содержимого базы данных, но мы не будем это рассматривать подробно. Объект Command принимает, а затем выполняет SQL-оператор. Если это — SQL-запрос, то командный объект возвращает набор записей (RecordSet), соответствующих запросу. Если это — SQL-операция, то командный объект выполняет ее, и одна или больше записей обновляются (командный объект может возвращать записи, измененные операцией).
Другая операция, широко используемая при разработке приложений для баз данных - генерация отчетов. Получить нужные данные из базы данных несложно, но создание многостраничного отчета (с подведением итогов и т.д.) в общем случае является нетривиальной задачей. Многие разработчики используют инструменты третьих фирм для создания отчетов, особенно если они печатаются на разных принтерах — для них это действительно проблема. Конструктор
DataReport позволяет создавать структуры отчетов, используя операции типа "укажи и нажми". При этом сначала нужно определить данные, которые будут включены в отчет с помощью объекта DataEnvironment, работающего в связке с конструктором ActiveX элемента DataReport. Он позволяет без программирования реализовать дополнительные операции для работы с базами данных (запросы и отчеты).