Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні ПАІС.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
561.66 Кб
Скачать

3. Компонент tibDatabase.

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

Компонент має власний редактор (викликається контекстним меню), який дозволяє задати значення основних властивостей, що забезпечують з’єднання з базою даних (User Name, Password, SQLRole, Character Set). Зокрема, необхідно вказати шлях до бази даних. Він включає в себе ім’я сервера і локальний шлях до бази даних на сервері. У випадку, коли сервер локальний, досить вказати лише шлях до бази даних.

В компоненті TIBDatabase відсутні засоби керування транзакціями, які винесені до окремого компоненту TIBTransaction. Властивість DefaultTransaction дозволяє задати транзакцію за замовчуванням. Змінюючи значення цієї властивості, можна в одному з’єднанні працювати з декількома транзакціями.

Довільна дія з базою даних відбувається у рамках тієї чи іншої транзакції. Робота з InterBase базується на явному керуванні транзакціями.

Компонент TIBTransaction інкапсулює засоби керування транзакцією для з’єднання з сервером InterBase.

Один компонент транзакції може працювати з декількома базами даних одночасно. Для цього використовується властивість DefaultTransaction відповідних компонентів з’єднання TIBDatabase.

Основною є властивість Params, в якій можна вказати рівень ізоляції транзакції. Один з чорирьох рівнів ізоляції можна вибрати за допомогою редактора компонента, який викликається з контекстного меню. Для більшості випадків рекомендується використовувати режим Read Commited, який дозволяє запитам в одній транзакції “бачити” зміни зроблені в контексті інших транзакцій.

TIBTransaction посилається на компонент бази даних за допомогою властивості DefaultDataBase. Якщо також вказати властивість DefaultTransaction у TIBDatabase, то в подальшому довільні компоненти, що посилаються на базу даних, будуть автоматично “підхоплювати” і вказану транзакцію.

З А В Д А Н Н Я

  1. Створіть новий проект.

  2. Розмістіть на формі компоненти, необхідні для підключення до бази даних Sales.

  3. Проведіть всі необхідні налаштування цих компонентів.

  4. Оформіть звіт по роботі.

Контрольні запитання

  1. Що виконує компонент TIBDatabase і TIBTransaction?

  2. Які властивості компонента TIBDatabase Ви знаєте?

  3. Що виконує компонент TIBDatabase?

Практична робота № 5 Тема роботи: Виконання запитів за допомогою компонента tibDataSet.

Мета роботи: Навчити створювати запити та редагувати дані в таблиці допомогою компонента TIBDataSet.

ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

  1. Вибірка даних з таблиці.

Спеціалісти вважають, що компоненти TIBTable та TIBQuery використовувати недоцільно, оскільки вони призначені в основному для сумісності з компонентами BDE. Для роботи з наборами даних радять використовувати компонент TIBDataSet. Помістимо на форму такі компоненти: IBTransaction1:TIBTransaction; IBDatabase1:TIBDatabase1; IBDataSet1:TIBDataSet;

DataSourse1: TDataSourse1; DBGrid1:TDBGrid, DBNavigator1:TDBNavigator.

Налаштуємо компоненти IBTransaction1 і IBDatabase1 на з’єднання з базою даних Employee.gdb, які містится в каталозі Program Files\Common Files\Borland Shared\Data. У IBDataSet1 необхідно задати властивості DataBase та Transaction, у DataSourse1задати DataSourse1.DataSet рівним IBDataSet1, а у DBGrid1.Data-Sourse рівним DataSourse1. У компоненті IBDataSet1 властивість BufferChunks встановимо рівною 10000, щоб буфер мів вмістити весь набір даних.

Тепер необхідно вказати той запит, який ми хочемо виконати у властивості SelectSQL компонента IBDataSet1: SELECT * FROM EMPLOYEE;

Для того, щоб виконати цей запит під час виконання програми необхідно створити такий обробник події OnFormCreate:

procedure TForm1.FormCreate(Sender: TObject);

begin

IBDatabase1.Connected:=True; IBDataSet1.Active:=True;

end;