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

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

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

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

Особливе значення для програм баз даних грає компонент TDBGrid, що представляє дані у вигляді таблиці. У стовпцях таблиці розміщаються поля набору даних, а в рядках – запису. Для цього компонента не має змісту визначати конкретне поле.

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

1. Зв'язати компонент відображення даних і компонент TDataSource. Для цього використовується властивість Datasource, що повинна вказувати на екземпляр необхідного компонента TDataSource. Один компонент відображення даних можна зв'язати тільки з одним компонентом TDataSource. Необхідний компонент можна вибрати в списку властивостей в Інспекторі об'єктів.

2. Задати поле даних. Для цього використовується властивість DataField типу TFields. У ньому необхідно вказати ім'я поля зв'язаного набору даних. Після завдання властивості Datasource поле можна вибрати зі списку. Цей етап застосовується тільки для компонентів, що відображають єдине поле.

Окреме місце серед компонентів відображення даних займає компонент TDBNavigator. Він призначений для переміщення по записах набору даних.

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

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

В основі процесу розробки лежить тріада компонентів:

  • не візуальні компоненти набору даних;

  • не візуальні компоненти TDataSource;

  • візуальні компоненти відображення даних.

2.2 Об'єкти використані в курсовій роботі

Класифікація компонентів відображення даних

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

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

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

Найбільш часто в практиці програмування використовуються компоненти TDBGrid, TDBEdit И TDBNavigator.

Рис. 1.7 Класифікація компонентів відображення даних

Для подання й редагування інформації, що міститься в полях типу Memo, використовуються спеціальні компоненти TDBMemo й TDBRichEdit.

Для перегляду (без редагування) зображень призначений компонент TDBImage.

Окрему групу становлять компоненти синхронного перегляду даних. Вони забезпечують показ значень поля з однієї таблиці у відповідності зі значеннями поля з іншої таблиці.

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

Через спільність розв'язуваних задач, компоненти відображення даних мають кілька важливих спільних властивостей, які представлені в табл. 1.1 і надалі опущені.

Таблиця 1.1 Загальні властивості компонентів відображення даних

Властивість

Опис

property DataField: string;

Поле пов'язане з компонентом набору даних

property DataSource: TDataSource;

Компонент, що зв'язує з компонентом TDataSource

property Field: Tfield;

Забезпечує доступ до класу TField, що відповідає полю набору даних, заданою властивістю DataField

property Readonly: Boolean;

Керує роботою режиму "тільки для читання"

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

Переміщення або навігація по записах набору даних може здійснюватися кількома шляхами. Наприклад, у компонентах TDBGrid й TDBCtrlGrid, які відображають відразу кілька записів набору даних, можна використати клавіші вертикального переміщення курсору або вертикальну смугу прокручування.

Але що робити, якщо на формі перебувають тільки компоненти, що відображають одне поле тільки поточного запису набору даних (TDBEdit, TDBCombовох і т.д.)? Очевидно, що в цьому випадку на формі повинні бути розташовані додаткові елементи керування, відповідальні за переміщення по записах.

Аналогічно, жоден компонент відображення даних не має вбудованих засобів для створення й видалення записів цілком.

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

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

Рис. 1.8 Призначення кнопок компонента TDBNavigator

Компонент TDBNavigator містить набір кнопок, кожна з яких відповідає за виконання однієї операції над набором даних. Усього є 10 кнопок, розроблювач може залишити в наборі будь–яку кількість кнопок у будь–якому сполученні. Видимістю кнопок керує властивість visibleButtons:

type

TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast, nblnsert, nbDelete,

nbEdit, nbPost, nbCancel, nbRefresh);

TButtonSet = set of TNavigateBtn;

property VisibieButtons: TButtonSet;

Кожен елемент типу TNavigateBtn представляє одну кнопку, їхнє призначення описується нижче:

nbFirst – переміщення на перший запис набору даних;

nbPrior – переміщення на попередній запис набору даних;

nbNext – переміщення на наступний запис набору даних;

nbLast – переміщення на останній запис набору даних;

nblnsert – вставка нового запису в поточній позиції набору даних;

nbDelete – видалення поточного запису, курсор переводиться на наступний запис;

nbEdit – набір даних переводиться в режим редагування;

nbPost – у базу даних переносяться всі зміни в поточному записі;

nbcancel – всі зміни в поточному записі скасовуються;

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

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

Натискання будь–якої кнопки можна створити програмно за допомогою методу BtnClick.

Якщо буде потреба виконання додаткових дій при натискуванні на будь–якій кнопці можна скористатися оброблювачами подій BeforeAction й Onclick, у яких параметр Button визначає натиснуту кнопку. Властивості й методи компонента TDBNavigator представлені в табл. 1.2.

Таблиця 1.2 Властивості й методи компонента TDBNavigator

Оголошення

Тип

Опис

Властивості

property ConfirmDelete: Boolean;

Pb

Включає або відключає підтвердження видалення запису

property Hints: TStrings;

Pb

Містить список підказок для кожної кнопки

property Flat: Boolean;

Pb

Визначає зовнішній вигляд кнопок компонента

type TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast, nblnsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);

TButtonSet = set of TNavigateBtn ;

property VisibleButtons: TButtonSet;

Pb

Список видимих кнопок

Методи

procedure BtnClick (Index: TNavigateBtn) ;

Pu

створює натискання на кнопці index

procedure SetBounds (ALeft, ATop, AWidth, AHeight: Integer) ;

Pu

Задає положення (параметри ALeft, АТор) і розмір компонента (параметри AWidth, AHeight)

Методи–оброблювачі подій

ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object; Iproperty BeforeAction: ENavClick;

Pb

Виконується при натисканні на кнопці Button перед виконанням операції, пов'язаної із кнопкою

ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object;

property OnClick: ENavClick;

Pb

Виконується при натисканні на кнопці Button після виконання операції, пов'язаної із кнопкою

Loading...

 
 

Цікаве