Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Практична робота №5

Тема: Створення інтерфейсу клієнтського додатку для роботи з ба-


зою даних (БД) в середовищі Delphi.
Мета: Набути навичок під‘єднання БД до середовища Delphi. Нав-
читися створювати форми для введення даних до таблиць.

Завдання:
1. Під‘єднати БД в MS SQL Server 2008 до середовища Delphi через
компонент TADOConnection.
2. Створити Data modulе для забезпечення зв‘язку візуальних компо-
нент з джерелом даних (таблицями БД).
3. Побудувати екранні форми відображення даних використовуючи
компоненти TDBGrid та TDBNavigator.
4. Створити форму для перегляду даних у зв‘язаних таблицях.

ПОРЯДОК ВИКОНАННЯ РОБОТИ

1. В середовищі Delphi створити новий проект.

Рисунок 1- Створення нового проекту


2. Створити нову форму - DataModule.
Розміщуємо на ній наступні компоненти для робот : ADOConnection1 та
виконуємо підключення до БД MS SQL Servеr.

Рисунок 2- Форма модуля даних DataModule1

3. Встановлення зв‘язку з базою даних

Для під‘єднання БД до середовища Delphi використовується компонент


TADOConnection з сторінки ADO. На цій же сторінці розташовані компоненти
TADOTable, TADOQuery, TADOStoredProc та інші.
Для забезпечення зв’язку необхідно помістити компонент ADOConnection
на форму , двічі клацути на компоненті для виклику діалогового вікна завдання ряд-
ка з’єднання ConnectionString. (див.рисунок 3).

Рисунок 3- Вікно підключення БД до проекту ConnectionString


Також це вікно може з’явитися при натисненні кнопки з багатокрапкою в
рядку властивості ConnectionString компонента ТADOConnection.
У програміста є дві можливості: посилання на спеціальний зв'язковий файл
в першому рядку або формування опису зв'язку в другому рядку. В першому
випадку можна використовувати один і той же файл відразу для декількох з'єд-
нань, тому зміна файлу відіб'ється на численних зв'язках, причому, можливо, не
в одній програмі. Зміна вмісту в другому рядку вікна впливає тільки на
відповідний компонент-набір або тільки на ті компоненти, які посилатимуться на
даний зв'язковий компонент і лише всередині однієї програми.
Установка перемикача Use Connection String дозволяє за допомогою
кнопки Build скористатися спеціальним діалоговим вікном «Свойства связи с
данными» (див. рисунок 4)

Рисунок 4 - Вибір провайдера для зв‘язку з БД

В першій вкладці вікна «Поставщик данных» необхідно вказати провай-


дера OLE DB, який збираємося використовувати для доступу до даних. Ми ви-
бираємо Microsoft OLE DB Provider for SQL Server для під‘єднання файлів
*.mdf, що були створені в СУБД Microsoft SQL Server .
Друга вкладка «Подключение» В цьому вікні необхідно вказати шлях до
БД , ім’я користувача та його пароль.

Рисунок 5 - Вибір сервера, користувача тт.а бази даних

Натиснувши кнопку «Проверка подключения» можна перевірити чи від-


булося підключення до БД.

Рисунок 6 – Перевірка підключення проекту до БД

Після завершення формування рядка з’єднання , слід перейти до вкладки


«Дополнительно» (див. рисунок 7) , де встановити параметри мережі, час очі-
кування підключення в сек., та права доступу до бази даних. Вкладка «Все» по-
відомляє всю загальну інформацію про з’єднання та дозволяє її відредагувати.

Рисунок 7 - Вікно властивостей зв‘язку з даними

4. Встановлення зв’язку з таблицею БД


Для створення інтерфейсу користувача БД в середовищі Delphi необхідно
використати компоненти з сторінки Data Control (управління даними) , що за-
безпечують відображення даних на екрані, та сторінки DateAccess (доступ до
даних) для забезпечення зв‘язку набору даних з візуальними компонентами.
Головним компонентом, який використовується для зв‘язку набору даних з
візуальними компонентами є ТDataSourсe.
Для кожного набору даних (таблиці або запиту) створюється об‘єкт Data-
Sourсe <n>, де n - номер об‘єкта. Всі об‘єкти класу ТDataSourсe прийнято
розташовувати в одному модулі. Об‘єкт класу ТDataSourсe є з‘єднуючою ланкою
між набором даних та множиною візуальних компонентів, що відображають дані
цього набору на формі.
До візуальних компонентів найбільш використовуваних у роботі з
БД відносяться наступні компоненти сторінки Data Control :
 TDBGrid - дозволяє представити дані у вигляді таблиці;
 TDBEdit - дозволяє відобразити поле набору даних доступне
для редагування;
 TDBLablе - дозволяє відобразити поле набору даних не дос-
тупне для редагування;
 TDBLookup ComboBox - відображення значень одного поля у
вигляді списку;
 TDBNavigator - компонент для забезпечення навігації по набо-
ру даних.
Зв‘язок між компонентами Delphi та БД можна представити наступним чи-
ном.

Рисунок 8 - Послідовність передачі управління даними

Для встановлення зв’язку з таблицею БД використовуються компоненти


ТADOTable та ТDataSource (попередньо їх змінити властивість Name відпові-
дноj на ADOTable_Spivrob та DataSource_Spivrob ), а для візуалізації та наві-
гації таблиці компоненти ТDBGrid та ТDBNavigator.
Переносимо ці компоненти на форму та встановлюємо їх властивості. Для
компоненти ТADOTable у властивості Connection встановлюємо ADOConnec-
tion1 та в TableName вибираємо ім’я необхідной таблиці (в нашому випадку
«Персонал»), а властивість Active виставляємо в TRUE(це відкриває таблицю, і
ми маємо можливість побачити данні нашої таблиці відразу, навіть не запускаю-
чи клієнтського додатку на виконання).
Для властивості DataSet компонента ТDataSource1 обираємо
ADOTable_Spivrob (див. рисунок 9).

Рисунок 9 - Під‘єднання таблиці БД до компонента ADOTable_Spivrob.

В компонентах ТDBGrid та ТDBNavigator, у властивості DataSource


встановлюємо DataSource_Spivrob.

ПОРЯДОК ФОРМУВАННЯ ІНТЕРФЕЙСА РОБОТИ З БД

В середовищі Delphi створити новий проект.


1. На форму помістити компонент ADOConnection1 та виконати
під‘єднання до БД.
2. На ту ж форму помістити компоненти TADOTable та TDataSource
для кожної таблиці БД.
3. Для кожного об‘єкта ADOTable у властивості Connection вказати
ADOConnection1, у властивості TableName вибрати назву таблиці, а у властиво-
сті Active вибрати True. Таким чином кожному об‘єкту ADOTable поставлено у
відповідність таблицю БД.
4. Наступний крок - забезпечення кожного об‘єкта ADOTable
відповідним об‘єктом Data Source. Пара ADOTable<n> та Data Sours<n> забез-
печує зв‘язок кожної таблиці БД з візуальними компонентами. Для цього у влас-
тивості Data Set компоненти Data Source<n> вибрати ADOTable<n>. Зв‘язок
встановлено.
Дати формі ім‘я DataModule1.
5. Створити нову форму. Викликати модуль Unit2, що описує Form2.
У розділі implementation дописати uses Unit_DM, що забезпечить зв‘язок з
DataModule1.
Зовнішній вигляд форми наведено нижче, а перелік використаних компо-
нентів з вкладки DataControl можна переглянути у вікні “Structure” рисунку 10.

Рисунок 10 – Вигляд форми “Довідник - Співробітники”

Програмний код реалізації Form_personal наведено на рисунку 11.


6. Аналогічну процедуру виконати для інших таблиць. Отримати про-
ект з одним модулем даних та двома формами для виведення даних.
7. Відношення один-до-багатьох для зв‘язаних таблиць
Відношення один-до-багатьох для зв‘язаних таблиць називають моделлю
головний/підлеглий. Її визначають властивості MasterSource та MasterFields де-
якого об‘єкта ADOTable.
Для підлеглого об‘єкта ADOTable (ADOTable_Spivrob) властивість Mas-
terSource вміщує назву DataSource з‘єднаного з головним об‘єктом ADOTable
(ADOTable_Posada). В той час, як для головного об‘єкта ADOTable властивість
MasterSource залишається порожньою.

Рисунок 11– Процес встановлення зв‘язку типу Master-Detail

Властивість Master Fields для підлеглого об‘єкта ADOTable вміщує рядок з


назвою одного або декількох полів, що пов‘язують цей об‘єкт з головною таб-
лицею.

Рисунок 12 – Вигляд форми для створення зв‘язку між таблицями


Для головної таблиці властивість Master Fields залишається порожньою.
Якщо зв‘язуючих полів декілька, то слід відділити їх одне від одного за допомо-
гою коми з крапкою. Слід також заповнити поля IndexFieldName або IndexName.
Для відображення даних з зв‘язаних таблиць слід використати компоненти
TDBGrid для кожної таблиці розташувавши їх на одній формі.
Для навігації по даним використати компонент TDBNavigator.
Нижче наведенo приклади дизайну форм та програмні модулі форм проекту.

Рисунок 13 – Вигляд форми “Довідник-Співробітники”


Рисунок 14 – Програмний модуль Form_Personal

Рисунок 15– Програмний модуль Form_Posada


Рисунок 16 – Вигляд форми “Довідник-Посади”
Рисунок 17 – Вигляд форми “Довідник-Відділи”

Рисунок 18– Програмний код проекту


КОНТРОЛЬНІ ПИТАННЯ

1) Які компоненти з середовища Delphi забезпечують зв‘язок з базо даних (БД) ?


2) Який компонент забезпечує зв‘язок таблиці (запита) з компонентами інтер-
фейсу?
3) Які компоненти слугують для побудови інтерфейсу користувача БД ?
4) Які засоби в середовищі Delphi забезпечують виведення даних зі зв‘язаних
таблиць?
5) Що таке RAD-технології?
6) Як реалізується з’єднання клієнтського додатку та БД в MS SQL Server?
7) Яке призначення об’єкту TDataModule?
8) Яке призначення об’єктів TQuery та TTable?
9) Які компоненти призначені для відображення записів на формі?

You might also like