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

4. Звіт про виконання роботи

Звіт повинен містити опис і результати роботи, що представляються в наступній послідовності:

1. Опис структури бази даних.

2. Опис компонентів, що були використані при розробці додатку.

3. Код основних модулів додатку

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

1. Принципи роботи базами даних в Delphi.

2. Робота з компонентом TIBDatabase.

3. Робота з компонентом TiBTransaction.

4. Робота з компонентом TiBDataSet

5. Робота з компонентом TIBQuery

6. Робота з компонентом TIBSQL

7. Робота з компонентом TiBDatabaseinfo

8. Робота з компонентом TIBSQLMonitor

9. Робота з компонентом TIBTable

10. Способи з'єднання з базою даних.

3.11 Лабораторна робота №11

Тема роботи: Робота з процедурами InterBase, що зберігаються. Використання компонента TIBSQL для виконання параметричних запитів. Механізм майстер-деталь.

Мета роботи: Вивчити принципи роботи з процедурами InterBase, що зберігаються. Отримати навики виконання параметричних запитів та використання механізму майстер-деталь.

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

1.1 Компонент TIBStoredProc

Компонент процедури, що зберігається, призначений для визначення процедури, установки її параметрів, виконання процедури і повернення результатів в компонент. Залежно від вибраної технології доступу до даних, кожен компонент процедури, що зберігається, має власний спосіб з'єднання з сервером. Після підключення до джерела даних ім'я процедури, що зберігається, можна вибрати із списку властивості property StoredProcName: String; Після цього властивість property Params: TParams; призначена для зберігання параметрів процедури, автоматично заповнюється. Для процедур, що зберігаються, важливе ділення параметрів на вхідні і вихідні. Перші містять вхідні дані, а другі передають результати виконання процедури. Загальне число параметрів повертає властивість property ParamCount: Word; Для підготовки процедури, що зберігається, використовується метод procedure Prepare; або властивість property Prepared: Boolean; яке повинне набути значення True. Метод procedure UnPrepare; або властивість Prepared := False виконують зворотну дію. Крім того, перевірка значення властивості Prepared дозволяє встановити, чи здійснювалася підготовка процедури до виконання чи ні. Після виконання процедури, що зберігається, вихідний порядок дотримання параметрів в списку Params може змінитися. Тому для доступу до конкретного параметра рекомендується використовувати метод function ParamByName(const Value: String): TParam; Якщо процедура, що зберігається, повертає набір даних, компонент можна відкривати методом procedure Open; або властивістю property Active: Boolean; Інакше для виконання процедури використовується метод procedure ExecProc; і після цього вихідні параметри набудуть обчислених значень.

1.2 Компонент tibsql

Компонент TIBSQL призначений для швидкого виконання запитів SQL, тому не забезпечує зв'язку з компонентами представлення даних (властивості і методи описані в таблиці нижче).

Компонент, являється мінімальною надбудовою над InterBase API. На відміну від IBTable, IBQuery і IBDataSet він не буферизує вибрані записи – для доступу до поточного запису існує лише властивість Current (власне, IBSQL не є спадкоємцем DataSet).

Призначений для виконання операторів Insert/update/delete, execute procedure, або select для перебору записів, що не буферизує (наприклад при імпорті/експорті даних або при масовій обробці записів на клієнті).

Для забезпечення швидкості виконання запиту з компонента видалені всі додаткові механізми, обслуговуючі набір даних. Фактично компонент TIBSQL не має відношення до звичайних компонентів доступу до даних, його безпосереднім предком є клас iСomponent, а не TDataSet. Тому він лише передає через компонент з'єднання TIBDatabase запит серверу і отримує назад результат виконання запиту.

Для підвищення швидкості компонент не забезпечує повноцінної навігації по набору даних. Переміщення по набору даних можливо лише в прямому напрямі (однонаправлений курсор).

.

Таблиця 11.1 – Властивості і методи компонента TIBSQL

Оголошення

Опис

Властивості

property Bof: Boolean;

Значення True говорить про те, що курсор знаходиться на початку набору даних

property Database: TiBDatabase;

Визначає компонент з'єднання з базою даних

property Eof : Boolean;

Значення True говорить про те, що курсор знаходиться в кінці набору даних

property Fieldlndex: [FieldName: String]: Integer;

Список порядкових номерів полів по їх іменах

property Active: Boolean;

Дозволяє визначити, чи відкритий набір даних

property Prepared: Boolean;

Значення True повідомляє про те, що запит готовий до виконання

property RecordCount: Integer;

Повертає число записів набору даних

property RowsAf fected: Integer;

Повертає число записів, оброблених запитом

property SQL: TStrings;

Містить текст запиту

property Transaction: TIBTransaction;

Вказує на компонент транзакції

Методи

procedure Close;

Закриває набір даних

procedure ExecQuery;

Виконує запит

procedure Prepare;

Готує запит до виконання

Текст запиту задається звичайною для всіх компонентів запитів властивістю SQL.

Механізм майстер-деталь часто використовується для роботи з базами даних, оскільки саме він дозволяє легко зв'язувати дані з різних таблиць, отриманих в результаті нормалізації.