В этом примере рассматривается
связь таблиц CUSTOMER
(компании-заказчики) и ORDERS (их
заказы) из базы данных BCDEMOS и
используется компонент DBLookupListBox
для того, чтобы отобразить на
экране имя компании,
соответствующее значению CustID,
находящемуся в таблице ORDERS.
Чтобы создать форму для выведения
на экран выбранных из таблицы ORDERS
полей, следует открыть новый проект
и сохранить главную форму как
DBLOOK1.CPP, а проект как DBLOOK.MAK. Далее
нужно разместить на форме
компоненты TTable, DataSource, DBGrid и DBNavigator.
Далее следует присвоить свойству
Database Name компонента Table1 значение
BСDEMOS, свойству TableName - значение
ORDERS.DB, а свойству Active - значение true.
Свойству DataSet компонента DataSource1
присвоим значение Table1, а свойству
AutoEdit - значение false. Свойству DataSource
компонентов DBGrid1 и DBNavigator1 присвоим
значение DataSource1. Далее используем
Fields Editor, чтобы внести в набор данных
Table1 поля OrderNo, CustNo, SaleDate, ItemsTotal,
AmountPaid. Расположим поля в Fields Editor
так, чтобы OrderNo был бы первым, а CustNo -
вторым. Можно скомпилировать и
сохранить это приложение, затем
запустить и протестировать его.
Теперь внесем в приложение
компонент DBLookupListBox и установим его
свойство DataSource равным DataSource1, а
свойство DataField равным CustNo. Поместим
на форму новые компоненты TTable и
DataSource. Установим свойство DatabaseName
для компонента Table2 равным BCDEMOS,
свойство TableName равным CUSTOMER.DB, а
свойство Active равным true. Свяжем
DataSource2 с Table2. Свяжем компонент
DBLookupListBox1 с DataSource2, установив
значение свойства ListSource компонента
DBLookupListBox1 равным DataSource2, свойства
KeytField равным CustNo, а свойства ListField
равным Company. Можно скомпилировать и
сохранить приложение, затем
запустить и протестировать его.
В компоненте DBLookupListBox будет
выделено название компании,
соответствующее значению CustNo в
текущей строке DBGrid (рис. 9). Можно
использовать DBLookupListBox для выбора
заказчика по имени, при этом в
таблице Orders будет устанавливаться
соответствующее значение CustNo.
Рис. 9. Приложение с
компонентом DBLookupListBox.
В следующих статьях будет
рассмотрено использование
компонента TQuery и возможности
создания и использования
SQL-запросов в приложениях С++ Builder.
|