Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Компоненти доступу до даних ADO можуть використовувати два варіанти підключення до сховища даних. Це стандартний метод ADO і стандартний метод Delphi.
У першому випадку компонента використовують властивість connectionstring для прямого звертання до сховища даних. В другому випадку використовується спеціальний компонент TADOConnection, що забезпечує розширене керування з'єднанням і дозволяє звертатися до даного декількох компонентам одночасно.
Властивість connectionstring призначена для збереження інформації про з'єднання з об'єктом ADO. У ньому через крапку з коми перелічуються всі необхідні параметри. Як мінімум, це повинніо бути імена провайдеру з'єднання або вилученого сервера. При необхідності вказуються шлях до вилученого провайдеру і параметри, необхідні провайдерові: 'User Name=User_Name;Password=Password';
Кожен компонент, що звертається до сховища даних ADO самостійно, задаючи параметри з'єднання у властивості Connectionstring, відкриває власне з'єднання. Чим більше додаток містить компонентів ADO, тим більше з'єднань може бути відкрито одночасно.
Компонент TADOConnection призначений для керування з'єднанням з об'єктами сховища даних ADO. Він забезпечує доступ до сховища даних компонентам ADO, инкапсулирующим набір даних. Застосування цього компонента дає розроблювачеві ряд переваг: усі компоненти доступу до даних ADO звертаються до сховища даних через одне з'єднання; можливість прямо задати об'єкт провайдеру з'єднання; доступ до об'єкта з'єднання ADO; можливість виконувати команди ADO; виконання транзакций; розширене керування з'єднанням за допомогою методів-оброблювачів подій.
Перед відкриттям з'єднання необхідно задати його параметри. Для цього призначена властивість property ConnectionString: WideString (Рис.11.9).

Рис. 11.9. Редактор настроювання з'єднання ADO
Набір параметрів змінюється в залежності від типу провайдеру і може набудовуватися як вручну, так і за допомогою спеціального редактора параметрів з'єднання, що викликається подвійним щигликом на компоненті TADOConnection, перенесеним на форму, або щигликом на кнопці в поле редагування властивості ConnectionString в Інспекторі об'єктів (Рис.11.10).

Рис. 11.10. Вікно вибору провайдера OLE DB
На сторінки Provider потрібно вибрати провайдер Microsoft Jet 4.0 OLE DB Provider для доступу к БД Access, На вкладці Connection (Рис.11.11) ввести путь до БД (Рис.11.12) та натиснути кнопку Test Connection. Якщо путь вибран правильно то з'єднання встановлено.

Рис.11.12. Вікно Data Link Properties
Контрольні запитання:
1. Основні компоненти, яки обов’язково містить програма Delphi, що призначена для роботи з БД.
2. Як встановлюється зв’язок програми з БД?
3. Призначення і установка основних властивостей компонента TТable.
4. Призначення і установка основних властивостей компонента TDataSource.
5. Призначення і установка основних властивостей візуальних компонентів.
6. Технология ADO: назначение, достоинства, недостатки.
7. Компоненти - набори даних ADO: TADODataSet, TADOTable, TADOQuery.
12. Компоненти – набори даних
12.1. Поняття НД. Основні властивості, методи, події
12.1.1. Компоненти – набори даних
Під набором даних (НД) розуміється група записів з даними, узятими з однієї чи декількох таблиць. У програмах Delphi НД створюються за допомогою компонентів TTable і TQuery. Тому компоненти TTable і TQuery часто називають просто наборами даних.
Компонент TTable завжди представляє дані, узяті з однієї таблиці. Компонент TTable використовується звичайно при роботі з локальними БД.
Компонент TQuery являє собою НД, отриманий на основі SQL-запиту. Тому в ньому можуть представлятися дані, узяті з декількох таблиць. Компонент TQuery рекомендується використовувати при роботі з віддаленими БД в архітектурі “клієнт-сервер”.
Компоненти TTable і TQuery є спадкоємцями класу TDataSet, у якому визначені всі найважливіші властивості, методи і події, необхідні для роботи з НД. Нижче розглядаються найбільш важливі з них. Усі вони рівною мірою доступні в компонентах TTable і TQuery.
12.1.2. Огляд найбільш важливих властивостей, методів і подій
Властивість State визначає поточний стан НД. Воно може приймати наступні значення:
dsInactivate – НД закритий, дані недоступні;
dsBrowse – дані можна переглядати, але не можна змінювати;
dsEdit – дані поточної запису можна редагувати;
dsInsert – може вставлятися новий запис;
dsSetKey – НД знаходиться в режимі пошуку записів;
dsCalcFields – виконується установка значень полів, що обчислюються, (по алгоритму, що заданий в оброблювачі події OnCalcFields);
dsFilter – НД знаходиться в режимі фільтрації записів (для поточного запису перевіряється умова фільтрації, що задана в оброблювачі події OnFilterRecord).
На Рис. 12.1 показана діаграма станів НД і можливих переходів між ними. Перехід з одного стану в інший відбувається при виклику тих чи інших методів.
![]() |
Open, Close
Insert, Append
![]()
Post,
Edit, Cancel Post, Cancel
OnFilterRecord OnCalcFields
Рис. 12.1. Діаграма станів і переходів НД.
Це такі методи:
Open – відкриває з'єднання НД із БД (властивість Active встановлюється в True). Властивість State встановлюється в значення dsBrowse;
Close – закриває з'єднання з БД (властивість Active встановлюється в False). Властивість State встановлюється в значення
dsInactivate;
Edit – НД переводиться в стан редагування. Властивість State встановлюється в значення dsEdit;
Insert – НД переводиться в стан вставки нового запису. Властивість State встановлюється в значення dsInsert;
Append – те ж, що і Insert, але запис додається в кінець НД;
Post – виробляється пересилання даних поточного запису в БД.
Крім властивості State розглянемо ще такі властивості:
Active – при установці цієї властивості в True установлюється з'єднання з БД (викликається метод Open);
DataBaseName – псевдонім БД, з яким установлюється зв'язок даного НД. Значення вибирається зі списку, що випадає;
Bof – приймає значення True, якщо поточним є перший запис (курсор установлений на перший запис);
Eof - приймає значення True, якщо курсор змістився за останній запис.
12.1.3. Навігація по НД
Поточним записом називають той запис, дані якого в даний момент доступні в прикладної програмі. З поняттям поточного запису зв'язане поняття курсору НД. Курсор НД указує на поточний запис.
Під навігацією по НД розуміється переміщення курсору від одного запису до іншого.
Для навігації по НД використовуються методи:
First – переміщення курсору на перший запис;
Last – переміщення курсору на останній запис;
Next – переміщення курсору на наступний запис;
Prior – переміщення курсору на попередній запис;
MoveTo(i) - переміщення курсору на i записів.
Якщо НД знаходиться в стані редагування (dsEdit) чи вставки нового запису (dsInsert), то при переміщенні до нового запису автоматично викликається метод Post, що пересилає дані з поточного запису в БД, якщо у ньому були виконані зміни.
Розглянемо простий приклад навігації з програмного коду. Нехай, потрібно підрахувати кількість записів, що маються в НД. Це можна зробити шляхом послідовного “перегляду” усіх записів у НД. Фрагмент коду програми, у якому підраховується число записів у таблиці Table_Stud, має наступний вид:
. . . . . . . . .
n:=0;
Table_Stud. First;
while not Table_Stud. Eof do
Begin
n:=n+1;
Table_Stud. Next;
End;
. . . . . . . . . .
Label1.Caption:=IntToStr(n);
. . . . . . . . . . . . . . . . . .
Для підрахунку кількості записів тут використовується змінна n. Мітка Label1 використовується для відображення отриманого результату n. IntToStr – це функція, за допомогою якої виробляється перетворення цілого значення n у строковий тип даних. Отримане строкове представлення n привласнюється властивості строкового типу Caption.
12.1.4. Фільтрація записів у НД
У НД мається дві властивості, за допомогою яких можна включати і виключати фільтрацію. Нагадаємо, що під фільтром розуміється засіб, за допомогою якого можна включати в НД тільки ті записи, що задовольняють заданій умові фільтрації.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |



