
Лабораторная работа 2
.docЛабораторная работа № 2
Итак, в первой лабораторной работе были созданы таблицы. Характерной особенностью программ, созданных с помощью Delphi и предназначеных для работы с базами данных, является их зависимоть от специальной библиотеки программ, которая называется BDE (Borland Database Engine – машина баз данных корпорации Borland).
Удобно не просто указывать путь доступа к таблицам базы данных, а использовать для этого некий заменитель - псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационном файле в произвольном месте на диске и позволяет исключить из программы прямое указание пути доступа к базе данных. Такой подход дает возможность располагать данные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа, в алиасе указываются тип базы данных, языковый драйвер и много другой управляющей информации.
Д
ля
создания алиаса запустите утилиту
конфигурации BDE, Пуск | Программы
| Borland Delphi| BDE.
Д
алее
создаем непосредственно новый алиас:
Object | New
Теперь
можно изменить название алиаса STANDARD1
на другое например, в нашем случае,
он будет называться AZS. Теперь
на вкладке Definition в пункте
PATH необходимо указать
путь к нашим базам данных, они все должны
находиться в одном каталоге, в нашем
случае d:\students\v229\bd. Для
того, чтобы сохранить изменения
проделываем следующее: Object
| Apply или используя пиктограмму.
На этом конфигурирование BDE заканчивается и окно можно закрыть. Запускаем Delphi.
Немного теории: Имеются несколько основных компонент(объектов), которые Вы будете использовать постоянно для доступа к БД. Эти объекты могут быть разделены на три группы:
-
невизуальные: TTable, TQuery, TDataSet, TField
-
визуальные: TDBGrid, TDBEdit
-
связующие: TDataSource
Первая группа включает невизуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа TTable, TQuery, TDataSet и TField. В Палитре Компонент эти объекты расположены на странице Data Access.
Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа TDBGrid, TDBEdit, TDBImage и TDBComboBox. В Палитре Компонент эти объекты расположены на странице Data Controls.
Имеется и третий тип, который используется для того, чтобы связать предыдущие два типа объектов. К третьему типу относится только невизуальный компонент TDataSource.
П
оместите
на форму необходимое количество
компонентов Data
Source и Table,
с вкладки
компонентов Data
Access и DbGrid
c вкладки
Data
Controls. Изходя из количества таблиц. В
нашем случае таблицы три, следовательно
и каждого вида компонентов тоже будет
три. Также необходимо поместить компонент
DBNavigator c
вкладки Data
Controls, он
позволяет манипулировать с БД.
Теперь необходимо связать таблицы c сетками. Для чего выбираем Data Source1 и в Object Inspector в пункте DataSet выбираем Table1. Выбираем DbGrid1 и в Object Inspector в пункте DataSource1 устанавливаем DataSource1. Выбираем компонент Table1 и в Object Inspector в пункте Database Name выбираем нами созданный алиас, в нашем случае AZS, а в пункте Table Name первую таблицу 1.db
Вот и все таблица привязана к сетке DbGrid1, но на нее еще не выводится. Для того, чтобы вывести таблицу во время проектирования то необходимо в свойстве Active компонента Table1 установить True. Аналогично связываются и др. таблицы с сетками DbGrid. Проделать самостоятельно.
В
от,
что получилось:
Т
еперь,
когда каждой сетке сопоставлена таблица,
необходимо произвести связывание
таблиц. Связывание таблиц происходит
между компонентами Table.
В свойствах
этого компонента есть поля
Master Fields и
Master
Source. Вначале
выбирает Master
Source и
указываем компонент Data
Source той
таблицы, по полю которой будем производить
связывание. Далее выбираем поле Master
Fields и
открывается диалоговое окно, которое
позволяет связать поля разных таблиц.
В левой колонке выбираем поле одной таблицы, а в правой колонке поле другой таблицы, нажимаем OK. Проделываем весь процесс и для других объединяемых компонентов Table. Далее можно связать
Компонент DB Navigator c основной таблицей, указав в его свойстве DataSource - Datasource1 и приложение построено.
Единственное,
что осталось сделать, поменять названия
полей на русский язык для удобства.
Щелкаем правой кнопкой мыши по компоненту
DbGrid.
И выбираем
пункт Colamns
Editor.
Открывается диалоговое окно, где нажимаем
кнопку Add
All Fields.
Потом просто меняем свойство Caption, как показано на рисунке.
В
итоге получаем следующее: