Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по ОБД ИТП 2 сем.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6 Мб
Скачать
☆

3.10 Лабораторна робота №10

Тема роботи: Робота в Delphi з базами даних за технологією InterBase Express. Мета роботи: Вивчити принципи роботи з базами даних в Delphi за технологією InterBase Express. Отримати навики роботи з компонентами доступу до даних.

1 Теоретичні відомості

На сторінці InterBase Палітри компонентів містяться компоненти доступу до даних для роботи з сервером InterBase. Їх перевага полягає в реалізації всіх функцій за рахунок прямого звернення до API сервера InterBase. Завдяки цьому істотно підвищилася швидкість роботи компонентів. Нові компоненти надають розробникові нові можливості:

  • покращене управління транзакціями (для цього тепер призначений окремий компонент TIBTransaction);

  • нові компоненти доступу до даних дозволяють краще вирішувати поширені завдання програмування (компоненти TIBDataSet, TIBSQL);

  • можливість здобуття відомостей про стан бази даних без прямого звернення до її системних таблиць (компонент TIBDatabaseinfo);

  • відстежування стану процесів виконання запитів (компонент TIBSQLMonitor).

Методика використання цих компонентів в додатках БД майже не відрізняється від стандартної методики BDE. Для компонентів InterBase Express з'єднання з сервером БД здійснює компонент TIBDatabase. Оскільки для доступу до бази даних компонентам InterBase Express не потрібний BDE, то для створення з'єднання використовується всього одна властивість DatabaseName. У нім необхідно вказати повний шлях (включаючи ім'я сервера) до вибраного файлу БД з розширенням gdb. Для цього можна скористатися стандартним діалогом вибору файлу при клацанні на кнопці властивості в Інспекторові об'єктів. Компонент має власний редактор, який дозволяє задати значення основних властивостей, що забезпечують з'єднання з базою даних. Вигляд вікна редактора компонента приведений нижче.

Налаштування з'єднання проводиться таким чином. На панелі Connection вибирається необхідний сервер InterBase (локальний або доступний видалено), потім в списку Protocol визначається використовуваний мережевий протокол і за допомогою кнопки Browse вибирається файл бази даних. На панелі Database Parameters задаються ім'я користувача, його пароль і роль. Також можна вибрати і набір шрифтів для мовної адаптації додатка (список Character Set).

Для завдання параметрів (ім'я користувача, пароль, схема, роль і т. д.), що вводяться при підключенні, також можна використовувати властивості Params і LoginPrompt. Дорога до файлу бази даних задається властивістю DatabaseName: String; З'єднання включається і відключається властивістю Connected. Параметри з'єднання, які не можна задати властивостями, встановлюються властивістю Params: TStrings; у якому в кожному рядку задається ім'я параметра і потім через знак рівності його значення. Найбільш поширений приклад використання властивості Params це завдання імені користувача і його пароля: user_name=sysdba password=masterkey

У компоненті TIBDatabase відсутні засоби управління транзакціями, які винесені в окремий компонент TIBTransaction. Властивість DefaultTransaction: TIBTransaction; дозволяє задати транзакцію за умовчанням. При цьому всі компоненті з наборами даних, що використовують дане з'єднання автоматично, починають застосовувати цей компонент транзакції. Змінюючи значення цієї властивості, можна в одному з'єднанні працювати з декількома транзакціями. Компонент TIBTransaction інкапсулює засоби управління транзакцією при роботі з сервером InterBase. Для цього він має бути пов'язаний з компонентом TIBDatabase за допомогою своєї властивості DefaultDatabase: TIBDatabase; Транзакція може мати набір параметрів, задати які можна за допомогою властивості Params: TStrings; аналогічно компоненту TIBDatabase. Після того, як транзакція налагоджена, її можна почати, зберегти або відмінити. Транзакція стартує за допомогою методу StartTransaction; При необхідності зберегти всі зроблені в рамках поточної транзакції зміни використовується метод Commit; Якщо виконані дії потрібно відмінити, застосовується метод Rollback; Для відкриття і збереження транзакції можна використовувати традиційну властивість Active: Boolean; Після початку нової транзакції властивість InTransaction: Boolean; набуває значення True, а після фіксації або відкату – значення False. При роботі з сервером InterBase (версії 6.0 і вище) можна використовувати методи commit-Retaining і RollbackRetaining. На відміну від стандартних операцій фіксації і відкату транзакцій, ці методи після передачі або відміни змін залишають поточну транзакцію відкритою.