Создание базы данных в Delphi
Лабораторная работа, 04 Февраля 2013, автор: пользователь скрыл имя
Краткое описание
Данная лабораторная работа предназначена для знакомства с основами работы с реляционными базами данных. Условно можно считать, что реляционная база данных состоит из набора таблиц, которые в свою очередь состоят из однотипных записей с несколькими полями. Обычно записи в таблицах представляют в виде горизонтальных рядов, а в колонках - значения соответствующих полей.
Файлы: 1 файл
Лабораторная работа № 3Создание базы данных.doc
— 399.50 Кб (Скачать)В левой верхней части формы необходимо разместить компоненты, позволяющие фильтровать записи в таблице в соответствии с некоторым критерием. Нам необходимо сделать три варианта: все книги, книги заданного типа и книги, находящиеся у заданного пользователя. Для извлечения данных из таблиц в соответствии с некоторым критерием в Delphi возможны несколько вариантов.
Один из вариантов
заключается в задании
Другой вариант заключается в создании связки таблиц «главная-подчиненная» (master-detail) по некоторым полям. Тогда при выборе записи в главной таблице в подчиненной таблице будут отображаться только те, код связи которых совпадает с текущей записью в главной. Эта связка аналогична той, что используется в подстановочных полях: там главной таблицей являлась TableBooks, а подчиненными - справочники ТаblеТуреs и TableUsers.
В данном случае необходимо, чтобы, наоборот, таблицы ТаидеТурез и TableUsers были главными, a TableBooks - подчиненной. При выборе типа книги или пользователя в таблице книг должны выбираться только определенные записи. Для организации такой связи в подчиненной таблице необходимо указать три свойства, краткое описание которых приведено в табл. 24.
Таблица 24. Свойства компонентов типа ТТаЫе для организации связи с главной таблицей в режиме подчиненной | ||
Свойство |
Тип |
Комментарий |
MasterSource |
TDataSource |
Источник данных с главной таблицей |
IndexFieldNames |
String |
Имя индексированного поля подчиненной таблицы, по которому осуществляется связь |
MasterFields |
String |
Имя поля главной таблицы, текущее значение которого используется для фильтрации записей в подчиненной |
Итак, вернемся к нашему приложению. В левой верхней части главной формы следует разместить три радио-кнопки, при выборе которых необходимо динамически менять свойства MasterSource, IndexFieldNames и MasterFields компонента TableBooks. Для выбора типа книг или пользователя для фильтрации необходимо разместить около радио-кнопок компоненты типа TDBLookupComboBox. при раскрытии которых в ниспадающем списке будут отображаться записи таблиц ТаblеТуреs и TableUsers. Для этого нужно у компонентов TDBLookupComboBox установить свойства ListSource в значение DataSourceType (или DataSourceUsers); ListField равным «BookType» (или «UserName») и свойство KeyField равным «ID».