Практическая работа 6 Тема: Создание многотабличной БД в среде Borland Delphi 7 или Borland C++Builder 6.0.

  • docx
  • 25.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала ПР_продолжение student 6 Многотабличная.docx

Практическая работа 6

 

 

Тема: Создание многотабличной БД в среде Borland Delphi 7 или Borland C++Builder 6.0.

Цель: приобрести навыки работы с многотабличной базой данных.

 

Ход выполнения работы

 

Разработка формы просмотра данных двух таблиц

 

Для просмотра записей из одной таблицы достаточно использовать компонент DBGrid или несколько компонентов DBEdit, которые настроены на определенную таблицу. Для просмотра двух таблиц (с отношением 1:М) необходимо воспользоваться и компонентами DBEdit для отображения данных из родительской таблицы, и компонентом DBGrid для демонстрации записей из дочерней таблицы.

 

Рисунок 1 демонстрирует результат выполнения практической работы.

 

 

Рисунок 1 - Форма просмотра двух таблиц

 

Для создания формы просмотра данных двух таблиц (рис. 1) необходимо выполнить следующие действия:

1. Загрузить среду Borland Delphi (кл. Пуск – Все программы).

2. Создать новый проект (New Application) и сохранить пустой проект (Save All), указав имена файлам – Unit3 и Project3.

 3. Задать форме название (Caption) «Работа с двумя связанными таблицами».

 4. Добавить на форму метку Label (панель компонентов Standard) и задать ей заголовок – «Просмотр таблиц student.db и ozenka.db». Для оформления надписи в Инспекторе объектов используйте свойство Font.

             5. Добавить на форму две пары компонентов Table (панель компонентов BDE) и DataSource (панель компонентов Data Access) (рис.2).

 

             Рисунок 2 – Внешний вид формы

              

             6. Пусть компоненты Table1 и DataSource1 описывают родительскую таблицу student.db, а компоненты Table2 и DataSource2дочернюю таблицу ozenka.db. Для этого выполним следующие действия:

             6.1 Выделить компонент DataSource1 и в Инспекторе объектов в свойстве DataSet выбрать из списка Table1.

6.2 Выделить компонент Table1 и в Инспекторе объектов:

-        в свойстве DatabaseName выбрать ранее созданный алиас aliasDВ,

-        в свойстве TableName  выбрать таблицу student.db.

-        в свойстве Active выбрать True.

6.3 Выделить компонент DataSource2 и в Инспекторе объектов в свойстве DataSet выберите из списка Table2.

6.4 Выделить компонент Tabl2 и в Инспекторе объектов:

-        в свойстве DatabaseName выбрать ранее созданный алиас aliasDВ,

-        в свойстве TableName  выбрать таблицу ozenka.db

             7. Открыть «Редактор полей» («двойной щелчок» на компоненте Table1) первой таблицы, нажать правую кнопку мышки, выполнить команду Add fields, «перетащив» таким образом поля из «Редактора полей» в Form1.Table1  (рис.3 а, б).

              

 

а)                                                                    б)

Рисунок 2 - Окно Редактора полей

 

8. Из Form1.Table1  перенести поля на основную форму приложения.

Необходимо заметить, что «перетаскивание» полей позволяет автоматически настроить их на соответствующую таблицу и соответствующие поля. При этом на форме появится само поле и комментарий виде метки. Достаточно изменить свойство Caption у метки и расположить текстовые компоненты надлежащим образом (рис.3)

 

              

Рисунок 3 – Расположение компонентов на форме

              

             9. Добавить на форму компонент DBNavigator (панель компонентов Data Controls) и настроить его на родительскую таблицу (рис. 4). Для этого выполнить следующие действия:

 9.1 Активизировать навигатор, установив для него свойство DataSource со значением равным DataSource1 (идентификатор компонента DataSource).

 

 

 

 

 

Рисунок 4 -  Описание кнопок навигатора

 

             9.2 В инспекторе объектов найти свойство Hints и нажать кнопку обзора (с тремя точками). После чего на экране появится окно «String List Editor» со списком названий кнопок навигатора.

Свойство Hints компонента DBNavigator представлено некоторым списком, поэтому в инспекторе объектов присутствует фраза (TStrings).

 9.3  Заменить все английские названия кнопок на русские названия, используя рис. 5.

 9.4 Сохранить изменения в редакторе строк навигатора.

 

 

Рисунок 5 -  Список названий кнопок навигатора

 

9.4  Для активизации заданных подсказок установить значение свойства ShowHint – true.

9.5  Сохранить проект и запустить на выполнение.

 9.6 Проверить работу подсказок подведением указателя мыши любой кнопке навигатора (рис. 6).

            

              

             Рисунок 6 – Рабочий режим формы приложения

              

             10. Поместить на  форму компонент DBGrid (панель компонентов Data Controls) и настроить его на отображение данных второй (дочерней) таблицы ozenka.db. Для этого выполнить следующие действия:

             10.1 Выделить компонент DBGrid и в Инспекторе объектов в свойстве DataSource выбрать DataSource2.

10.2 Выделить на форме компонент Table2  и установить свойство Active  в True.

Внешний вид формы приложения показан на рисунке 7.

 

 

Рисунок 7 – Форма приложения

 

             10.3 Сохранить изменения и запустить проект на выполнение.

                      

             Используя навигатор, стоит убедиться в том, что связь между таблицами не наблюдается, то есть навигатор перемещается по записям первой таблицы, а данные второй таблицы не изменяются, и табличный указатель находится на одной и той же записи (рис. 8).

                                       

                                        Рисунок 8 - Приложение без связи таблиц

 

             11. Вернуться в режим редактирования проекта, закрыв форму приложения.

             12. У компонентов Table11 и Table2 значение свойства Active изменить на значение False.

              

Примечание.

Если пользователю необходимо изменить данные в таблице, которая активна на форме, то произойдет сбой программы-проекта. Обязательно нужно дезактивировать таблицу, предназначенную для работы на форме, а потом производить с ней различные изменения в Database Desktop. В противном случае, система будет извещать пользователя том, что таблица в использовании (use).

 

 13. Активизировать  компонент  Table2  и  установить  свойство MasterSource в значение DataSource1 (рис. 9).

  

 

Рисунок 9 – Установка свойства в компоненте Table2

 14. Для  свойства  MasterFields  активизировать  кнопку  обзора, пункты  14.1 – 14.3 (рис. 10).

 

 

Рисунок 10 - Установка связи между таблицами

 

 14.1 Выбрать из списка Available Indexes индекс nmrO таблицы ОЦЕНКА.

 14.2 В списке Detail Fields (поля дочерней таблицы) выбрать поле Nomer.

 14.3 Выбрать в мастер-таблице (родительской) поле Nomer.

 14.4 После нажатия кнопки <Add> в поле Joined Fields появится запись:

Nomer –>Nomer (рис. 11).

Это значит, что две таблицы связались по полю Nomer.

 

 

Рисунок 11 - Установка связи между таблицами

  

 15. Активизировать компонент Table1– значение свойства Active должно быть true.

 

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

Рисунок 12 демонстрирует результат работы приложения.

 

Рисунок 12 – Результат работы приложения

 

 

16. Сохранить приложение многотабличной базы данных – FileSave All.

 

Связь между таблицами определена следующим рисунком (рис. 13).

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 13 - Описание индексов таблиц СТУДЕНТ и ОЦЕНКА


 

Скачано с www.znanio.ru

Посмотрите также