- •Методичні вказівки
- •Контрольні питання
- •Лабораторна робота № 6
- •Методичні вказівки
- •Контрольні питання
- •Лабораторна робота № 8 Робота з компонентами InterBase Express (ibx),ado Ціль роботи
- •Порядок виконання роботи
- •Методичні вказівки
- •Варіанти завдань до лабораторних робіт
- •Додатки Скрипт для створення бази даних
- •Програмний код основних модулів додатку
- •65082, Одеса, вул. Дворянська, 1/3
Контрольні питання
Як створити статичний запит?
Як створити параметричний запит?
Як виконати запит?
Як звернутися до збереженої процедури?
Як передати в процедуру параметри?
Лабораторна робота № 8 Робота з компонентами InterBase Express (ibx),ado Ціль роботи
Отримання знань про технологію InterBase Express.
Придбання навиків в роботі з компонентами InterBase Express і застосуванні їх в додатку.
Отримання знань про технологію ADO.
Придбання навиків у використовуванні компонентів ADO в клієнтських додатках.
Порядок виконання роботи
По номеру варіанту вибрати завдання і відповідно до методичних вказівок, за матеріалами рекомендованої літератури і конспекту лекцій виконати завдання і оформити звіт по роботі.
Зміст звіту
Опис послідовності дій при створенні додатку з використанням компонентів InterBase Express.
Малюнки отриманих при розробці форм додатку.
Опис послідовності дій при створенні форм з використанням компонентів ADO.
Методичні вказівки
Технологія InterBase Express розрахована на створення «полегшеного» клієнта. З цією метою вона надає програмісту спосіб безпосереднього звернення до промислового серверу InterBase без використання машини баз даних BDE або подібних засобів доступу до даних.
Характерною особливістю використовування IBX є створення з'єднання з БД, яке досягається за допомогою двох компонентів: TIBDatabase і TIBTransaction. Тільки після розміщення на формі цих компонентів і їх настройки, можуть отримати доступ до даних і інші компоненти IBX.
Всі компоненти для реалізації технології IBX зосереджені на панелі InterBase галереї компонентів Delphi.
TIBDatabase - створює з'єднання з БД InterBase. Властивість DatabaseName для локального серверу містить ім'я файла БД. При зв'язку з видаленою БД по протоколу TCP/IP ім'я записується у форматі <имя_сервера>:<имя_файла_БД>. Компонент може управляти декількома транзакціями одночасно. Властивість DefaultTransaction посилається на транзакцію, якій компонент управляє в даний момент.
TIBTransaction - повинен бути пов'язаний з компонентом TIBDatabase для встановлення зв'язку з InterBase.
TIBTable - компонент повторює у функціональному відношенні Bde-компонент TTable, тому його основні властивості, методи, події, а також прийоми роботи з ним схожі.
TIBQuery - є функціональним аналогом компоненту TQuery.
TIBStoredProc - повністю повторює функціональність TStoredProc.
TIBDataSet - призначений для перегляду і модифікації набору записів, вказаного в його властивості SelectSQL. Особливістю компоненту є та обставина, що НД не обновлятиметься до тих пір, поки не будуть визначені модифікуючі його Sql-оператори в його рядкових властивостях InsertSQL, DeleteSQL, ModifySQL. Якщо, наприклад, в його властивості InsertSQL буде записаний правильний оператор Insert, набір даних буде здатний вставляти записи, але тільки так, як це визначено в цьому операторі. Якщо дії користувача не співпадають з тими, що визначені додатковими Sql-операторами, вони відкидаються.
TIBSQL - призначений для виконання Sql-запитів з мінімальними витратами часу. Він не може бути пов'язаний з TDataSource і, отже, з візуалізуючими компонентами.
Простий приклад роботи з основними компонентами InterBase Express.
Почнемо новий проект і додамо в нього новий модуль даних.
Розмістимо на модулі даних компоненти TIBDatabase і TIBTransaction, компонент TIBTable і компонент TDataSource.
Рисунок 16 - Вигляд форми модуля даних з компонентами IBX
Розкриємо список властивості DatabaseName компоненту IBDatabase1 і з його допомогою встановимо посилання на необхідну базу даних.
За допомогою списку DefaultDatabase необхідно зв'язати компонент IBTransaction1 з компонентом IBDatabase1.
Настроємо таблицю IBTable1 на зв'язок з IBDatabase1 (властивість Database) і з IBTransaction1 (властивість Transaction), після чого в списку TableName компоненту виберемо таблицю Owner. Відкриємо таблицю (помістимо True у властивість Active). При цьому автоматично активізуються компоненти TIBDatabase і TIBTransaction.
Необхідно зв'язати компонент DataSource1 з IBTable1.
Активізуємо головну форму програми (модуль Unit1) і покладемо на неї сітку TDBGrid.
За допомогою File> Use Unit головного меню Delphi пов'яжемо модуль Unit1 з модулем даних Unit2
Помістимо у властивість DataSource сітки DBGrid1 посилання на DataSource1 модуля даних і запустимо програму. В результаті отримаємо форму:
Рисунок 17 - Зовнішній вигляд форми з інформацією про власників нерухомості
Починаючи з 5-й версії, Delphi підтримує технологію ADO (ActiveX Data Objects - об'єкти даних, побудовані як об'єкти ActiveX). На основі цієї технології створені відповідні компоненти-набори TADOTable, TADOQuery, TADOStoredProc, повторюючі у функціональному відношенні компоненти TTable, TQuery, TStoredProc, але не вимагаючі розгортання і настройки на клієнтській машині BDE.
Основною гідністю ADO є його природна орієнтація на створення «полегшеного» клієнта. В рамках цієї технології на машині розробника БД встановлюються базові об'єкти MS ADO і відповідні компоненти Delphi, що забезпечують використовування технології ADO. На машині серверу даних встановлюється так званий провайдер даних - деяка надбудова над спеціальною технологією OLE DB, що «розуміє» запити об'єктів ADO і «уміюча» переводити ці запити в потрібні дії з даними. Взаємодія компонентів ADO і провайдера здійснюється на основі універсальної для Windows технології ActiveX.
На машині серверу створюється і розміщується джерело даних, а на машині клієнта розташовуються зв'язні компоненти TADOConnection і компоненти-набори даних TADOTable, TADOQuery, TADOStoredProc, а також компоненти-набори TADODataSet, TADOCommand. Кожний з цих компонентів може зв'язуватися з провайдером даних або за допомогою зв'язного компоненту TADOConnection, або минувши його і використовуючи власну властивість ConnectionString.
Встановлення зв'язку з ADO є ключовим моментом всієї технології. Кожний компонент-набор-даних має дві властивості, за допомогою яких він може встановити зв'язок з ADO: Connection і ConnectionString.В перше поміщається посилання на спеціальний компонент TADOConnection, що грає роль концентратора з'єднання з ADO; в другу - власне рядок зв'язку. Ці властивості взаємовиключаючі, тобто установка значення в одне з них веде до очищення другого. При натисненні кнопки в рядку властивості ConnectionString компоненту TADOConnection з'являється вікно, показане на рисунку
Рисунок 18 - Діалогове вікно для формування з'єднання з ADO
Є дві можливості - послатися на спеціальний файл в першому рядку або сформувати опис зв'язку в інший. В першому випадку можна використовувати один і той же файл відразу для декількох з'єднань. Зміна вмісту в другому рядку вікна впливає тільки на відповідний компонент-набір або тільки на ті компоненти, які будуть посилатися на даний зв”язковий компонент і лише усередині однієї єдиної програми.
Для діалогового способу формування зв'язку необхідно вибрати перемикач Use Connection String і натиснути на кнопку Build. На екрані з'явиться діалогове вікно з чотирма закладками. Закладка Provider використовується для вибору механізму, який буде безпосередньо взаємодіяти з даними, одержуючи їх від клієнта і посилаючи їх йому. Вибір провайдера є визначальним чинником. Для різних типів даних повинні використовуватися тільки строго певні провайдери. Наприклад, для роботи з БД Access вибирається провайдер Microsoft Jet 4.0 OLE DB Provider. Закладка Connection визначає необхідні зв'язні параметри для вибраного провайдера. У відповідному рядку необхідно вказати повний шлях доступу до файла БД. Як додаткова інформація на цій закладці указується ім'я користувача і пароль.
Рисунок 19 - Закладка Connection діалогового вікна настройки зв'язку з провайдером Microsoft Jet 4.0 OLE DB Provider
В склад Ado-компонентів входять 4 компоненти - набір - TADOTable, TADOQuery, TADOStoredProc, TADODataSet. Вони аналогічні BDE-орієнтованим компонентам і більшість їх методів, властивостей і подій співпадають.
Контрольні питання
Які компоненти використовує технологія InterBase Express?
Які компоненти використовує технологія ADO?
Де розташовані компоненти InterBase Express?