WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → База даних студентів факультету КСіТ - Курсова робота

База даних студентів факультету КСіТ - Курсова робота

Рис. 1.1. Механізм доступу до бази даних

Користувач за допомогою компонентів відображення даних може переглядати й редагувати дані. Змінені значення відразу ж передаються з елемента керування в набір даних за допомогою компонента TDataSource. Потім зміни можуть бути передані в базу даних або скасовані.

Тепер, маючи загальне подання про роботу програми бази даних, перейдемо до поетапного розгляду процесу створення такої програми.

Модуль даних

Для розміщення компонентів доступу до даних у програмі бази даних бажано використати спеціальну "форму" — модуль даних (клас TDataModule). Зверніть увагу, що модуль даних не має нічого спільного зі звичайною формою програми, адже його безпосереднім предком є клас TComponent. У модулі даних можна розміщати тільки не візуальні компоненти. Модуль даних доступний розроблювачеві, як і будь–який інший модуль проекту, на етапі розробки. Користувач програми не може побачити модуль даних під час виконання.

Для створення модуля даних можна скористатися Репозитарієм об'єктів або головним меню Delphi. Значок модуля даних Data Module розташований на сторінці New.

Як вже говорилося, модуль даних має мало спільного зі стандартною формою, хоча б тому, що клас TDataModule є послідовником безпосередньо від класу TComponent. У нього майже повністю відсутні властивості й методи–оброблювачі подій, адже від платформи для інших не візуальних компонентів майже нічого не потрібно, хоча нащадки модуля даних, що працюють у розподілених програмах, виконують досить важливу роботу.

Для створення структури (моделі, діаграми) даних, з якою працює програма, можна скористатися можливостями, які надає сторінка Diagram Редактори коду. Будь-який елемент із ієрархічного дерева компонентів модуля даних можна перенести на сторінку діаграми й задати зв'язок між ними.

За допомогою керуючих кнопок можна задавати між елементами діаграми відносини синхронного перегляду й головний/підлеглий. При цьому виробляється автоматичне настроювання властивостей відповідних компонентів.

Для створення модуля даних можна скористатися Репозитарієм об'єктів або головним меню Delphi. Значок модуля даних Data Module розташований на сторінці New.

Для обігу компонентів доступу до даних, розташованим у модулі даних, з інших модулів проекту необхідно включити ім'я модуля в секцію uses:

unit InterfaceModule;

...

implementation

uses DataModule;

...

DataModule.Tablel.Open;

...

Рис. 1.2. Модуль даних

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

Підключення набору даних

Компонент доступу до даних є основою програми бази даних. На основі обраної таблиці БД вона створює набір даних і дозволяє ефективно управляти ним. У процесі роботи такий компонент тісно взаємодіє з функціями відповідної технології доступу до даних. Звичайно доступ до функціональності технології доступу до даних здійснюється через сукупність інтерфейсів. Усі компоненти доступу до даних є не візуальними.

Для створення нового проекту досить вибрати команду NewApplication з меню File або скористатися Репозиторием об'єктів, що відкривається командою New з меню File.

Потім на форму нового проекту необхідно перенести компонент, інкапсулюючий набір даних, і виконати наступні дії. Послідовність дій розглянемо для компонента, інкапсулюючої функції таблиці.

1. Підключити компонент до бази даних. Для цього, залежно від конкретної технології, використається або спеціальний компонент, що встановлює з'єднання, або пряме звертання до драйвера, інтерфейсу або динамічної бібліотеки.

2. Підключити до компонента таблицю БД. Для цього використається властивість TableName, доступна в Інспекторі об'єктів. Після виконання дій першого етапу в списку цієї властивості повинні з'явитися імена всіх доступних у підключеній базі даних таблиць. Після вибору імені таблиці у властивості TableName компонент виявляється пов'язаним з нею.

3. Перейменувати компонент. Це не обов'язкова дія. Проте, у будь–яких випадках бажано привласнювати компонентам доступу до даних осмислені імена, що відповідають назвам підключених таблиць. Звичайна назва компонента копіює назву таблиці (наприклад, Orders або OrdTable, або tblOrders).

4. Активізувати зв'язок між компонентом і таблицею БД. Для цього використається властивість Active. Якщо в Інспекторі об'єктів привласнити цій властивості значення True, то зв'язок активізується. Цю операцію можна виконати й у вихідному коді програми. Також існує метод open, що відкриває набір даних, і метод close, що закриває його.

Примітка

Для виконання розглянутих операцій можна скористатися й властивістю Active. Однак реальні операції виконують зазначені методи. Тому використання властивості є зайвим етапом, та й з погляду ООП всі дії повинні виконувати методи об'єкта, а властивості служать тільки для подання значень. Властивість Active сигналізує про стан набору даних.

Настройка компонента TDataSource

На другому етапі розробки програми бази даних необхідно перенести на форму й настроїти компонент TDataSource. Він забезпечує взаємодію набору даних з компонентами відображення даних. Найчастіше одному набору даних відповідає один компонент TDataSource, хоча їх може бути кілька.

Для настроювання властивостей компонента необхідно виконати наступні дії.

1. Зв'язати набір даних і компонент TDataSource. Для цього використовується властивість DataSet компонента TDataSource, доступна через Інспектор об'єктів. Це покажчик на екземпляр компонента доступу до даних. У списку цієї властивості в Інспекторі об'єктів перераховані всі доступні компоненти наборів даних.

2. Перейменувати компонент. Це не обов'язкова дія. Проте бажано привласнювати компонентам осмислені імена, що відповідають назвам зв'язаних наборів даних. Звичайна назва компонента комбінує ім'я набору даних (наприклад OrdSource або dsOrders).

Примітка

Компонент TDataSource можна підключити не тільки до набору даних з тієї ж форми, але й будь–якої іншої, модуль якої зазначений у секції uses.

Компонент TDataSource має ряд корисних властивостей і методів. Отже, зв'язування з компонентом набору даних виконує властивість

property DataSet: TDataSet;

а визначити поточний стан набору даних можна, використавши властивість

type TDataSetState = (dslnactive, dsBrowse, dsEdit, dslnsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc); property State: TDataSetState;

За допомогою властивості

property Enabled: Boolean;

можна включити або відключити всі зв'язані візуальні компоненти. При значенні False жоден зв'язаний компонент відображення даних не буде працювати.

Властивість

property AutoEdit: Boolean;

при значенні True завжди буде переводити набір даних у режим редагування при одержанні фокуса одним зі зв'язаних візуальних компонентів.

Аналогічно, метод

procedure Edit;

переводить зв'язаний набір даних у режим редагування.

Метод

function IsLinkedTo(DataSet: TDataSet): Boolean;

повертає значення True, якщо компонент, зазначений у параметрі DataSet, дійсно пов'язаний з даним компонентом TDataSource.

Метод–оброблювач

type TDataChangeEvent = procedure(Sender: TObject; Field: TField)

of object;

property OnDataChange: TDataChangeEvent;

викликається при редагуванні даних в одному зі зв'язаних візуальних компонентів.

Метод–оброблювач

property OnUpdateData: TNotifyEvent;

викликається перед збереженням змін у базі даних. Метод–оброблювач

property OnStateChange: TNotifyEvent;

викликається при зміні стану зв'язаного набору даних

Відображення даних

На третьому етапі створення програми бази даних необхідно розробити користувальницький інтерфейс на основі компонентів відображення даних. Ці компоненти призначені спеціально для рішення завдань перегляду й редагування даних. Зовні більшість цих компонентів нічим не відрізняються від стандартних елементів керування. Більше того, багато хто з компонентів відображення даних є спадкоємцями стандартних компонентів – елементів керування.

Компоненти відображення даних повинні бути пов'язані з компонентом TDataSource і через нього з компонентом набору даних. Для цього використовується їхня властивість DataSource. Вона присутня у всіх компонентах відображення даних.

Більшість компонентів призначені для подання даних з одного єдиного поля. У таких компонентах є ще одна властивість DataField, що визначає поле зв'язаного набору даних, відображуване в компоненті.

Loading...

 
 

Цікаве