2. Компонент tTable.
Компонента таблицы представляет собой один из самых фундаментальных и гибких компонентных классов. TTable устанавливает прямую связь с таблицей базы данных посредством BDE, причем все записи или столбцы этой таблицы становятся доступными для приложения - как раздельно, так и внутри определенного интервала адресов. Некоторые свойства компоненты:
TableName позволяет выбрать фактическое имя таблицы из выпадающего списка с именами всех таблиц в адресуемой базе данных.
Exclusive разрешает или запрещает другому приложению обращаться к таблице, пока вы ее используете сами. Значение false запрещает исключительный доступ по умолчанию.
IndexFiles открывает диалог выбора индексного файла для таблицы.
IndexName задает правило отображаемых сортировки данных, отличное от упорядочивания по первичному ключу (primary key order).
Filter позволяет устанавливать критерий фильтрации, в соответствии с которым адресуется некоторое подмножество записей таблицы.
ReadOnly управляет правами доступа в процессе выполнения программы. Значение false разрешает запись по умолчанию.
MasterFields и MasterSource участвуют в образовании связи двух таблиц (ведущей и ведомой) по принципу master-detail.
Filter позволяет устанавливать критерий фильтрации, в соответствии с которым адресуется некоторое подмножество записей таблицы.
ReadOnly управляет правами доступа в процессе выполнения программы. Значение false разрешает запись по умолчанию.
Компонент tdbGrid и tdbEdit.
Позволяют отображать данные из БД на форме. TDBGrid представляет из себя своеобразную таблицу, где отображаются все записи БД. TDBEdit – простое текстовое поле для представления символьной информации.
Важнейшее свойство: DataSource, где необходимо указать используемый компонент TDataSource.
Компонент tdbNavigator.
Служит для навигации (перемещение, выполнение операций вставки, удаления записей) по таблице БД. Ассоциируется с компонентой TDBGrid.
Создание простейшей программы:
1. Поместите на форму компонент TTable. В свойстве DatabaseName установите псевдоним своей БД. В свойстве TableName укажите имя таблицы БД. При этом свойство Active установите в true.
2. Поместите на форму компонент TDataSource. В свойстве DataSet укажите имя таблицы (компонента TTable).
3. Поместите на форму компонент TDBGrid или TDBEdit. В свойстве DataSource укажите имя компоненты TDataSource.
4. Поместите на форму компонент TDBNavigator. В свойстве DataSource укажите имя компоненты TDataSource.
Связывание таблиц БД в Borland С++Builder
Свойства MasterFields и MasterSource компонента TTable участвуют в образовании связи двух таблиц (ведущей и подчиненной) по принципу master-detail.
Лучше всего проиллюстрировать образование связи двух таблиц на примере.
Следующая процедура иллюстрирует процесс создания простой формы для демонстрационной базы данных BDDEMOS, в которой пользователь может прокручивать записи таблицы товаров Tovary(Tovar,EdIzm,Zena) с отображением всех приходов таблицы Prihod(Npr,Tovar,DataPr,Kol):
1. Выполните команду главного меню File | New Application. На главную форму приложения поместите две пары компонент доступа к базам данных TTable и TDataSource.
2. Установите свойства объекта ведущей таблицы Table1
DatabaseName = BDDEMOS
TableName = Tovary.DB
Name = Table1
3. Установите свойства объекта ведомой таблицы Table2
DatabaseName = BDDEMOS
TableName = Prihod.DB
Name = Table2
4. Установите свойства объекта источника DataSourcel
DataSet = Table1
Name = Source1
5. Установите свойства объекта источника DataSource2
DataSet = Table2
Name = Source2
6. Поместите на форму пару компонент управления сеткой TDBGrid.
7. Установите свойство объекта первой сетки DBGridI
DataSource = Source1
и свойство объекта второй сетки DBGrid2
DataSource = Source2
8. Активизируйте таблицу Table2 модуля данных и установите свойство
MasterSource = Source1, чтобы связать ведущую таблицу Tovary с ведомой таблицей Prihod.
9. Дважды щелкните мышью в графе значений свойства MasterFields, и в открывшемся окне дизайнера связи полей
- выберите поле Tovar (связующее поле таблиц) из выпадающего списка Available Indexes;
- задайте Tovar в списках Detail Fields и Master Fields;
- нажмите кнопку Add, чтобы добавить в список Joined Fields соединение Tovar -> Tovar;
- нажмите кнопку OK, подтверждая сделанный выбор.
10. Установите свойство Active = true для таблиц Table1 и Table2 с тем, чтобы сразу же отобразить живые данные в сетках на форме.
11. Скомпилируйте и запустите приложение.
Задание на лабораторную работу:
создать простейшую базу данных, состоящую из двух связанных таблиц. Отобразить таблицы на форме приложения, созданном в среде Borland C++Builder.
