Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД в Delphi ВТиП.doc
Скачиваний:
57
Добавлен:
17.03.2016
Размер:
3.62 Mб
Скачать
      1. Создание компонентаTDataSource

Чтобы в главном окне программы сетка DBGrid1 могла отображать данные из НД tbNakls, ее нужно связать с НД с помощью специального компонента источник данных (ИД) - TDataSource. Для этого выделите компонент TDataSource на вкладке Data Access палитры компонентов и затем щелкните на компоненте tbNakls в окне дерева объектов. В результате будут сформированы поля DataSet и Name Инспектора объектов для этого компонента (рисунок 3.15).

Рисунок 3.24 –Окно инспектора объектов для компонента DataSource1

Теперь осталось связать компонент DBGrid1 с компонентом DataSource1. Но компонент DBGrid1 находится на форме fmNaklsU, а компонент DataSource1 находится в модуле данных dmNaklsU. Однако согласно идеологии Delphi модуль данных должен быть связан с модулем формы. Лишь после этого можно реально связывать компоненты из этих методов. Этот процесс описывается в подразделе 3.3.7 после того, как будет завершен процесс создания всех необходимых компонент модуля данных. Хотя можно поступить и иначе, сначала связать модуль данных с модулем формы, а затем уже формировать необходимые компоненты модуля данных.

Таким образом, пока завершен процесс подготовки пары компонент Table1 – DataSource1 и пока не установлена связь компонента TDataSource1 с сеткой DBGrid1, необходимых для обработки и отображения НД tbNakls.

Теперь необходимо создать вторую пару Table2 – DataSource2 и пока отложить связвание компонент DataSource2 с сеткой DBGrid2 для отображения данных из таблицы MOVEBOOK в сетке главного окна DBGrid2. Для этого "положите" на псевдоним ААА набор данных TTable, а на него – источник данных TDataSource. Затем свяжите НД с таблицей MOVEBOOK и дайте ему имя tbMove. После чего свяжите компонент TDataSource с сеткой DBGrid2.

Вид модуля данных к этому моменту показан на рисунке 3.16.

Рисунок 3.25 –Вид модуля даных

Примечание. В общем случае для одной таблицы DBGrid может быть создано несколько источников данных, например, DataSource1, DataSource2 и т.д. При отладке или в процессе работы програмы такую таблицу можно связывать с разными источниками данных.

      1. Связь модуля главного окна с модулем данных

Связь модуля главного окна с модулем данных должна выполняться при активном главном окне. Если вы находитесь в модуле данных или его окне, то перейдите к главному окну программы (щелкните на вкладке fmNaklsU в окне кода и нажмите клавишу F12). С помощью команды File>Use Unit свяжите модуль главного окна fmNaklsU с модулем данных dmNaklsU.

      1. Связь сеткиTdbGrid и навигатораDbNavigatorcисточником данныхTDataSource

Сетка TDBGrid является наиболее распространенным визуальным компонентом, используемым для отображения данных из БД. Поэтому в рассматриваемом примере выбраны 2-ве сетки DBGrid1 и DBGrid2. Рассмотрим способ установления связи между этими сетками и соответствующими источниками данных DataSource1 и DataSource2, а так же навигатораDBNavigator1 с источником данных DataSource1.

Для этого необходимо выбрать соответствующие имена в поле DataSource компонентов DBGrid1, DBGrid2 и DBNavigator1(рисунок 3.17).

Рисунок 3.26 –Окно инспектора объектов для компонента DBGrid1

Для верхней сетки DBGrid1 раскройте список свойства DataSource и выберите в нем пункт DataSource1 - сетка тут же наполнится данными из НД tbNakls.

Точно так же свяжите нижнюю сетку DBGrid2 с источником данных TDataSource2. Сетка тут же наполнится данными из НД tbMove.

Таким же образом, что и для DBGrid свяжите навигатор баз данных DBNavigator1 в нижней части окна с источником данных DataSource1.

Рисунок 3.27 – Окно инспектора объектов для компонента DBNavigator1

Обратиться к конкретному столбцу компонента TDBGrid, например,DBGrid1можно как к элементу индексированного массиваDBGrid1.Columns.Items[i].

Примечание. На вкладкеDataControlsпредставлен весь набор визуальных компонент для работы сБД. Они будут рассмотрены ниже.