- •Содержание
- •Глава I. Теоретические основы применения технологии ado в среде Delphi 4
- •Глава II. Разработка фрагмента информационной системы «Аптека» в среде Delphi с применением технологии ado. 12
- •Введение
- •Глава I. Теоретические основы применения технологии ado в среде Delphi
- •1.1. Основные понятия и определения теории баз данных
- •Субд как посредник между пользователем и базой данных
- •Защита логической целостности базы данных.
- •Компоненты Delphi для создания приложений, оперирующих с базами данных
- •Глава II. Разработка фрагмента информационной системы «Аптека» в среде Delphi с применением технологии ado.
- •2.1. Анализ предметной области
- •2.2. Общий вид и особенности работы приложения Разработка базы данных «Аптека»
- •Процесс разработки пользовательского интерфейса приложения
- •2.2.4. Подключение базы данных «Аптека» к приложению
- •Особенности программного кода
- •Заключение
- •Литература
- •Приложение. Листинг программного кода фрагмента информационной системы «Аптека»
2.2. Общий вид и особенности работы приложения Разработка базы данных «Аптека»
Было решено создать базу данных для приложения в СУБД MSAccess, она получила название Аптека.mdb (рис. 8). В Delphi можно работать только с базами формата .mdb, поэтому пришлось выполнять разработку БД в MSAccess версии 2003 года.
Рис. 8. Создание новой базы данных
Для фрагмента информационной системы «Аптека» на основе полученных знаний из предметной области были созданы следующие таблицы:
Таблица «Персонал» базы данных «Аптека» (рис. 9)
Рис. 9. Таблица «Персонал». Содержание записей
Таблица «Поставщики» базы данных «Аптека» (рис. 10)
Рис. 10. Таблица «Поставщики». Содержание записей
Таблица «Товары» базы данных «Аптека» (рис. 11)
Рис. 11. Таблица «Товары». Содержание записей
Схема данных базы данных «Аптека»
Таблицы были связаны между собой связью «один-ко-многим» (рис. 12).
Рис.12. Схема данных БД «Аптека»
Работа над базой данных была завершена; был начат этап разработки приложения в среде программирования Delphi.
Процесс разработки пользовательского интерфейса приложения
Используя знания, полученные в процессе изучения технологии ADO и компонентов Delphi для работы с базой данных, был создан фрагмент информационной системы. Было решено, что программа должна обеспечить работу с таблицами БД и редактирование записей в отдельных текстовых полях.
Таким образом, был создан интерфейс для работы с приложением, который можно увидеть ниже.
Для удобства работы с тремя таблицами был использован компонент PageControl ( ), содержащийся во вкладке Win32. Он позволяет избавить приложение от перегруженности компонентов и решил нашу проблему с размещением таблиц. Для того чтобы создать новую вкладку компонента PageControl, размещенного на форме, необходимо в выпадающем меню щелчком правой кнопкой мыши выбрать пункт New page; на вкладках можно располагать все необходимые компоненты.
На каждую страницу PageControl были помещены DBGrid, DBNavigator и необходимое количество полей для редактирования (DBEdit, DBMemo), а также несколько компонентов Label и кнопка Button, которая отвечает за процесс редактирования записей.
Сразу оговоримся о назначении и свойствах этих компонентов.
Компоненты DBEdit и DBMemo обеспечивают просмотр и редактирование полей записи базы данных. Они позволяет отображать и редактировать данные полей различных типов: строка, число, булева величина.
Свойства компонентов DBEdit и DBMemo, обеспечивающие связь с данными:
DataSource – источник данных типа TDataSource;
DataField – имя поля, с которым связан компонент;
Field – объект этого поля (только для чтения).
Компонент TDBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов TTable или TQuery. Приложение может использовать TDBGrid для отображения, вставки, уничтожения, редактирования данных БД. Обычно DBGrid используется в сочетании с DBNavigator, хотя можно использовать и другие интерфейсные элементы, включив в их обработчики событий методы First, Last, Next, Ptior, Insert, Delete, Edit, Append, Post, Cancel компонента TTable.
Свойства компонента, обеспечивающие связь с данными:
Name - имя компонента;
DataSource - источник отображаемых в таблице данных (компонент DataSource);
Columns - массив объектов типа TColumn, каждый из которых определяет колонку таблицы и отображаемую в ней информацию.
Компонент DBNavigator (рис. 13) обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей. Компонент представляет собой совокупность командных кнопок (таблица 3).
Рис.13. Компонент DBNavigator
Таблица 3.
Кнопки компонента DBNavigator
Кнопка |
Обозначение |
Действие |
К первой |
nbFirst |
Указатель текущей записи перемещается к первой записи файла данных |
К предыдущей
|
nbPrior
|
Указатель текущей записи перемещается к предыдущей записи файла данных |
К следующей |
nbNext
|
Указатель текущей записи перемещается к следующей записи файла данных |
К последней |
nbLast
|
Указатель текущей записи перемещается к последней записи файла данных |
Добавить
|
nblnsert
|
В файл данных добавляется новая запись |
Удалить
|
nbDelete
|
Удаляется текущая запись файла данных |
Редактирование |
nbEdit |
Устанавливает режим редактирования текущей записи |
Сохранить
|
nbPost
|
Изменения, внесенные в текущую запись, записываются в файл данных |
Отменить
|
Cancel
|
Отменяет внесенные в текущую запись изменения |
Обновить |
nbRefresh
|
Записывает внесенные изменения в файл |
Свойства компонента DBNavigator:
Name - имя компонента (используется для доступа к свойствам компонента);
DataSource - имя компонента, являющегося источником данных (в качестве источника данных может выступать база данных (компонент Database), таблица (компонент Table) или результат выполнения запроса (компонент Query));
VisibleButtons - видимые командные кнопки.
Рассмотрим подробнее каждую вкладку компонента PageControl.
Для таблицы «Товары» (рис. 14) на рабочей области были созданы пять компонентов DBEdit, которые должны выводить значение записи на экран, а также 2 компонента DBMemo для вывода объемной информации («Фармгруппа» и «Лекарственная форма»). Для некоторых столбцов были добавлены компоненты Label, конкретизирующие информацию в текстовых полях, они отображают наименование столбца. Помимо этого добавлена кнопка Button с надписью «Редактировать».
Рис. 14. Вкладка «Товары». Интерфейс
Вкладка «Поставщики» (рис. 15) аналогично содержит таблицу, поля записей для каждого столбца и кнопку.
Рис. 15. Вкладка «Поставщики». Интерфейс
Вкладка «Персонал» (рис. 16) аналогичным образом демонстрирует нам необходимые элементы для просмотра и редактирования данных таблицы.
Рис. 16. Вкладка «Персонал». Интерфейс