Значення поля

Робота з полями

Компонент TDataSource

Закладки

Компоненти доступу до даних BDE

Робота з наборами даних

3.Відкриття набору даних

4.Навігація по набору даних

5.Властивості BOF, EOF і циклічний обробіток

10.Імена і номера полів

11.Маніпулювання полемо даних

12.Редактор полів

13.Додавання полів

14.Поля й інспектор об'єктів

15.Обраховочні поля

16.Підстановочні поля

17.Перетягування полів мишею

18.Відновлення набору даних

19.Зміна стану набору даних

20.Фільтрація набору даних

21.Пошук записів

 

І.Робота з наборами даних.

Набір даних (dataset)- це колекція рядків і стовпчиків даних. Кожний стовпчик (column) є деяким однорідним типом даних, а кожний рядок (row) являє собою колекцію даних кожного з типів даних, стовпчиків. Стовпчик іноді називають полемо (field), а рядок записом (record). Бібліотека VCL інкапсулює набір даних в абстрактний компонент, що називається TDataSet, що надає багато властивостей і методів, необхідних для керування і переміщення по набору даних.

Набір даних - це колекція дискретних записів даних. Кожний запис створюється множиною полів. Кожне поле може містити різноманітні типи даних (ціле число, рядкове значення, десяткове число, графіку і т.д.). Набори даних подані в бібліотеці VCL абстрактним класом ТDataSet.

Таблиця - це спеціальний тип набору даних. Як правило, вона являє собою, файл, що містить записи і зберігається фізично де-небудь на диску. У бібліотеці VCL цю функціональність інкапсулює клас ТТаblе.

Запит - це спеціальний тип набору даних. Можна уявляти собі запити як "таблиці в пам'яті", що сгенеровані за допомогою спеціальних команд і призначені для керування деякими фізичними таблицями або наборами таблиць.

Бібліотека VCL для роботи з запитами включає клас TQuery.

Бази даних - це каталог на диску (якщо дані не розміщені на сервері наприклад, як у випадку файлів Paradox і dBASE) або SQL-база даних (якщо дані розміщені на SQL-серверах). База даних може містити безліч таблиць. У бібліотеці VCL є відповідний клас, і це - клас TDatabase.

Індекс визначає правила упорядкування таблиць. Використовуючи в якості індексу окреме поле в таблиці, можна сортувати її записи на основі значень, що утримуються в цьому полі для кожного запису. Компонент ТТаblе містить властивості і методи, що необхідні для керування індексами.

 

ІІ.Компоненти доступу до даних BDE

В вкладці Data Access палітри компонентів містяться компоненти, що можна використовувати, для доступу і керування наборами даних BDE. У бібліотеці VCL набори даних подані трьома класами: ТТаblе, TQuery і TStoredProc. Всі ці компоненти є похідними від класу TDBDataSet.

Компонент ТTable подає структуру і дані, що утримуються в таблиці бази даних, а компонент TQuery - набір даних, що містить інформацію, повернуту в результаті виконання SQL-запиту.

 

ІІІ.Відкриття набору даних.

Перед тим, як виконувати маніпуляції з набором даних, його необхідно відкрити. Для цього достатньо викликати метод Open() - Table1.Open;

Це еквівалентно присвоєнню властивостіActive набору даних значення True:

Tablel.Active: = True;

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

Після відкриття набору даних, ними можна вільно маніпулювати. По завершенні використання набору даних його необхідно закрити, викликавши для цього метод Close():

Table1.Close;

Альтернативний засіб закриття - присвоєння властивості Active значення False:

Table1.Active:=False;

 

IV.Навігація по наборі даних.

Компонент TDataSet надає декілька простих методів роботи з записами. Методи First() і Last() переміщають покажчик поточного запису до першого й останнього записів в наборі даних відповідно, а методи Next() і Prior() - на один запис вперед або назад. Методу MoveBy() передається параметр Integer, у якому вказується, на яку кількість записів варто перемістити покажчик вперед або назад.

 

V.Властивості BOF, EOF і циклічний обробіток.

Властивості BOF і EOF класу TDataSet мають тип Boolean і показують, чиє поточний запис перший або останній в наборі даних. Наприклад, нехай необхідновиконати вибірку кожного запису набору даних, аж до його останнього запису. Цю просту задачу можна вирішити за допомогою циклу while, у якому вибірка записів буде продовжуватися доти, поки властивість EOF не прийме значення True, як показано в приведеному нижче фрагментікоду:

Tablel.First; //Перехід до початку набору даних

while not Table.EOF do //Перебір усіх записів у таблиці

begin

-//- //-//-// Виконання обробітку поточного запису

Tablel.Next; //Переміщення до наступного запису

End;