- •Использование таблиц и компонентов отображения данных в системе Delphi
- •Теоретические сведения Компоненты, предназначенные для работы с базами данных
- •Использование Мастера форм бд
- •Создание приложений и изучение свойств компонентов
- •Свойства компонентов для задания 3
- •Свойства компонентов для задания 6
- •Лабораторное задание и порядок выполнения работы
- •Требования к отчету
Свойства компонентов для задания 3
Свойство |
Значение |
Примечание |
Table1: TTable (главная таблица) |
||
Active |
False |
Управляет открытием таблицы |
DatabaseName |
DBDEMOS |
Спецификация каталога или псевдоним БД |
Name |
Table1 |
Имя компонента |
TableName |
customer.db |
Имя файла с таблицей |
DataSource1: TDataSource |
||
DataSet |
Table1 |
Имя компонента, через который передаются данные из БД и в БД |
Name |
DataSource1 |
Имя компонента |
DBGrid1: TDBGrid |
||
DataSource |
DataSource1 |
Имя компонента, через который осуществляется обмен и управление данными |
Name |
DBGrid1 |
Имя компонента |
Table2: TTable (подчиненная таблица) |
||
Active |
False |
Управляет открытием таблицы |
DatabaseName |
DBDEMOS |
Спецификация каталога или псевдоним БД |
MasterSource |
DataSource1 |
Имя компонента типа TDataSource, связанного с главной таблицей |
MasterFields |
CustNo |
Список полей главной таблицы для связи с подчиненной таблицей |
IndexFieldNames |
CustNo |
Индексный ключ (список полей подчиненной таблицы, по значениям которых упорядочиваются записи) |
Окончание
Свойство |
Значение |
Примечание |
Name |
Table2 |
Имя компонента |
TableName |
orders.db |
Имя файла с таблицей |
DataSource2: TDataSource |
||
DataSet |
Table2 |
Имя компонента, через который передаются данные из БД и в БД |
Name |
DataSource2 |
Имя компонента |
DBGrid2: TDBGrid |
||
DataSource |
DataSource2 |
Имя компонента, через который осуществляется обмен и управление данными |
Name |
DBGrid2 |
Имя компонента |
DBNavigator: TDBNavigator |
||
DataSource |
DataSource1 |
Имя компонента, чьим набором данных управляет навигатор |
Name |
DBNavigator |
Имя компонента |
Задание 5. Приложение, созданное при выполнении задания 4, дополнить компонентами, обеспечивающими доступ, управление и отображение данных из таблицы PARTS.DB, и связать эту таблицу в качестве подчиненной с таблицей ITEMS.DB. Из таблицы PARTS.DB требуется отображать только содержимое поля Description (описание поставляемого изделия) в компоненте типа TDBEdit. Проверить работу приложения, которое должно отображать данные из четырех связанных таблиц.
Задание 6. С помощью Мастера форм БД создать приложение с формой типа ввод/редактирование для просмотра таблицы ITEMS.DB из БД DBDEMOS. Дополнить созданное приложение компонентом типа TDBGrid, чтобы продублировать отображение содержимого таблицы ITEMS.DB. Обеспечить целостность БД с учетом того, что в таблице ITEMS.DB значения поля OrderNo не должны отличаться от номеров заказов, зафиксированных в таблице ORDERS.DB; значения поля PartNo не должны отличаться от номеров поставок изделий, зафиксированных в таблице PARTS.DB; значения поля ItemNo должны находиться в определенном диапазоне (например, 1 - 5).
Чтобы обеспечить ввод только допустимых значений в указанные поля, а также установку номера поставки путем выбора названия изделия и запретить доступ к отображаемому значению поля Discount, следует в форме, созданной Мастером форм БД, заменить компоненты типа TDBEdit компонентами других типов, указанными в табл.3.
Таблица 3
Типы замещающих компонентов
Отображаемое поле |
Тип компонента |
Отображаемое поле |
Тип компонента |
OrderNo PartNo |
TDBLookupList TDBLookupCombo |
ItemNo Discount |
TDBComboBox TDBText |
Настроить эти компоненты, чтобы:
1) поле OrderNo (номер заказа) содержало значение, имеющееся в таблице ORDERS.DB;
2) поле ItemNo (порядковый номер изделия в заказе) содержало значение, выбираемое из диапазона 1 - 5;
3) поле PartNo по номеру поставки находило в таблице PARTS.DB и отображало в рабочем поле формы название соответствующего поставляемого изделия (товара);
4) поле Discount (скидка) было доступно только для просмотра.
Проверить работу приложения, осуществив корректировку имеющихся и вставку новых строк в таблицу ITEMS.DB; изменение данных наблюдать в дополнительно размещенном компоненте типа TDBGrid.
Пояснение к заданию 6. Компоненты типа TDBLookupList и TDBLookupCombo, находящиеся на странице Win 3.1 палитры компонентов, или компоненты типа TDBLookupListBox и TDBLookupComboBox, находящиеся на странице Data Controls, позволяют устанавливать значение поля в строке таблицы с учетом значений полей, хранящихся в другой (связанной) таблице.
Таблица (ORDERS.DB или PARTS.DB), связанная с таблицей ITEMS.DB, должна быть представлена в рабочем поле формы компонентами типа TTable и TDataSource. Связь таблиц задается установкой перечисленных в табл.4 свойств компонента типа TDBLookupList или TDBLookupCombo: связь с данными, хранящимися в таблице ITEMS.DB, задается свойством DataSource; имена устанавливаемых полей OrderNo и PartNo таблицы ITEMS.DB являются значениями свойства DataField; связь с данными, взятыми из таблиц ORDERS.DB и PARTS.DB, задается свойством LookupSource; имена полей OrderNo таблицы ORDERS.DB и PartNo таблицы PARTS.DB, значения которых выбираются для записи в одноименные поля таблицы ITEMS.DB, являются значениями свойства LookupField; имена полей OrderNo таблицы ORDERS.DB и Description таблицы PARTS.DB, значения которых отображаются на экране, являются значениями свойства LookupDisplay.
Таблица 4
