|
Синхронный просмотр данных
При разработке приложений для работы
с базами данных часто возникает необходимость в связывании
двух наборов данных по ключевому полю. Например, в таблице
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, и поэтому здесь не рассматриваются.
|