Синхронный просмотр данных
При разработке приложений для работы с базами данных часто возникает необходимость в связывании двух наборов данных по ключевому полю. Например, в таблице
Orders (содержит данные о заказах) демонстрационной базы данных
DBDEMOS имеется поле custNo, которое содержит идентификационный номер покупателя. Под этим же номером в таблице
Customers хранится информация о покупателе (адрес, телефон, реквизиты и т. д.). При разработке пользовательского интерфейса приложения баз данных необходимо, чтобы при просмотре перечня заказов в форме приложения отображались не идентификационные номера покупателей, а их параметры.
Таким образом, в наборе данных заказов вместо поля номера покупателя должно появиться поле имени покупателя из таблицы
Customers. Механизм связывания полей из различных наборов данных по ключевому полю называется синхронным просмотром.
В рассмотренном примере ключевым является поле
CustNo из таблицы Customers, а выбор конкретного наименования производится по совпадению значений ключевого поля и заменяемого поля
из исходного набора данных — Orders. Причем необходимо, чтобы в таблице
Customers поле custNo было уникальным (составляло первичный или вторичный ключ).
Таблицу, в которой расположено поле, значения которого замещаются на синхронные, будем называть исходной таблицей
(это таблица Orders).
Таблицу, содержащую ключевое поле и поле данных для синхронного просмотра, будем называть таблицей синхронного просмотра
(таблица Customers).
В Delphi механизм синхронного просмотра реализован на уровне отдельных полей и компонентов.
В наборе данных динамически можно создать специальное поле синхронного просмотра, которое будет автоматически замещать одно значение другим в зависимости от значения ключевого поля. Такое поле можно связать с любым рассмотренным выше компонентом отображения данных (см. гл. 13).
Помимо простого синхронного просмотра данных может возникнуть задача редактирования данных в аналогичной ситуации. Для этого предназначены специальные компоненты синхронного просмотра данных, которые позволяют, например, выбирать покупателя из списка, а изменится при этом номер покупателя в наборе данных заказов. Использование таких компонентов делает пользовательский интерфейс значительно более удобным и наглядным. В VLC Delphi есть два таких компонента:
TDBLookupListBox И TDBLookupComboBox.
Примечание
На странице Win 3.1 Палитры компонентов имеются
еще два компонента: TDBLokupList и TDBLookupCombo.
Они обладают тем же набором функций, используются для обеспечения совместимости
с приложениями, созданными в среде разработки Delphi 1, и поэтому здесь не
рассматриваются.
|