Лабораторная работа 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, как показано на рисунке.
В итоге получаем следующее: