Редагування та навігація по записах набору даних використовуючи компонент TDBNavigator

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

Навігація та редагування набору даниз використовуючи компонент TDBNavigator

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

Читати повністю

Відображення та редагування даних булевого типу використовуючи компонент TDBCheckBox

Компонент TDBCheckBox — пов'язаний з даними аналог звичайного індикатора TCheckBox. Він дозволяє відображати і редагувати дані поля булевого, а також символьного та числового типу. Якщо при виведенні даних булеве поле приймає значення True, то пов'язаний з ним індикатор являється включеним. Якщо ж в процесі редагування користувач включить або вимкне індикатор, то відповідно значення True або False запишеться у відповідному полі таблиці бази даних. Це один із способів забезпечити користувачеві безпомилкове введення значень в поле таблиці бази даних.

Зв'язок компонента типу TDBCheckBox з полем набору даних здійснюється за допомогою його властивостей DataSource типу TDataSource і DataField типу TDataField. Перше з властивостей вказує на ім'я компонента джерела даних, через який здійснюється зв'язок з набором даних. І властивість DataField для пов'язаного набору даних вказує ім'я поля.

Якщо ж delphi-компонент TDBCheckBox пов'язаний з полем символьного або числового типу, то у властивості ValueChecked типу String даного компонента заноситься рядок, який перераховує значення поля, при яких індикатор включається, а у властивості ValueUnchecked (також типу String) перераховуються значення, при яких індикатор вимикається (окремі значення розділяються крапкою з комою). При значеннях, що не перераховані ні у ValueChecked, ні у ValueUnchecked, індикатор TDBCheckBox переходить у невизначений стан, відображаючи сірий прапорець (навіть у тому випадку коли властивість AllowGrayed (відповідає за заборону переводу індикатора в невизначений стан) приймає значення False).

Читати повністю

Відображення та редагування багаторядкових текстових даних використовуючи компонент TDBMemo

Delphi-компонент TDBMemo являє собою багаторядковий текстовий редактор, який, зазвичай, зв'язується з текстовими полями великих розмірів або з BLOB-полями, що спеціалізуються на збереженні текстових даних. Такі поля іноді називають MEMO-полями і вони реалізовані в таблицях формату dBase і Paradox. Нагадаємо, що при проектуванні таблиці за допомогою утиліти Database Desktop поле такого типу позначається символом «M».

Зауваження: у компоненті можна використовувати буфер обміну за допомогою стандартних засобів операційної системи або успадкованими від предка TCustomMemo методами CopyToClipBoard, CutToClipBoard і PasteFromClipBoard.

Як уже зазначалося, при розгляді основних характеристик візуальних компонентів призначених для роботи з базами даних, серед властивостей компонентів такого типу, і зокрема компонента TDBMemo, виділяють дві, що забезпечують зв'язок з даними. Це властивість DataSource типу TDataSource (вказує на джерело даних, з яким пов'язаний компонент TDBMemo) і властивість DataField типу TDataField (вказує на поле набору даних, з яким пов'язаний компонент TDBMemo). Скориставшись даними властивостями пов'яжемо компонент TDBMemo з полем description таблиці cars («Автомобілі») бази даних autobazar («Автобазар»). Для цього, відкриємо delphi-проект, який ми створювали при розгляді однорядкового текстового редактора TDBEdit та доповнимо головну форму одним компонентом DBMemo1 типу TDBMemo та ще одним компонентом типу TLabel (містяться на закладках Data Controls та Standard палітри компонентів Delphi відповідно).

Читати повністю

Виведення записів набору даних в табличному вигляді використовуючи компонент TDBGrid

Для виведення записів набору даних в табличному вигляді зручно використовувати сітку, представлену delphi-компонентом типу TDBGrid. Зовнішній вигляд сітки відповідає внутрішній структурі таблиці бази даних і набору даних. При цьому, рядкам сітки відповідають записи, а стовпцям — поля.

Об'єкт TDBGrid зв'язується з джерелом даних через свою властивість DataSource, яке, в свою чергу, посилається на набір даних. Тобто, якщо на форму, де вже відповідним чином налаштовані невізуальні компоненти, наприклад, Table1 та DataSource1 помістити таблицю DBGrid1, і у властивості DataSource даної таблиці вказати значення DataSource1, то ми відразу ж побачимо вміст таблиці бази даних, що пов'язується з набором даних Table1. В нашому випадку це таблиця cars («Автомобілі») бази даних dbautobazar («Автобазар»).

tdbgrid_komponent1

Вивід вмісту таблиці cars в компоненті DBGrid1

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

Читати повністю

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

Для відображення та редагування значень рядкового поля в додатках що працюють з базами даних, зазвичай, використовується delphi-компонент типу TDBEdit. Однорядковий редактор такого типу працює так само, як однорядковий редактор TEdit, відображаючи рядкове значення і дозволяючи користувачеві змінювати його. Відмінність компонентів полягає лише в тому, що в редакторі TDBEdit відображаються і змінюються значення певного поля поточного запису відповідного набору даних.

Для того, щоб компонент TDBEdit відображав і дозволяв редагувати значення деякого поля набору даних, потрібно встановити для його властивості DataSource, в якості значення, ім'я джерела даних, а для властивості DataField — ім'я поля пов'язаного з цим джерелом набору даних. Зробити це можна за допомогою інспектора об'єктів або програмно. Відмітимо, що яким чином це реалізується в інспекторі об'єктів нами вже було показано при розгляді візуального компонента TDBTetx. Для текстового редактора TDBEdit процес підключення аналогічний: всі компоненти зв'язуються з відповідним полем набору даних через свої властивості DataSource та DataField.

tdbedit_komponent6

Підключення компонента DBEdit1 до поля Kod набору даних Table1 використовуючи інспектор об'єктів

Сьогодні встановимо необхідні значення для цих властивостей програмно. Для цього модифікуємо delphi-проект, що міститься за вказаним вище посиланням таким чином, щок користувач мав змогу не тільки переглядати рядки таблиці cars бази даних autobazar, а і вносити в її полях певні зміни. Отже, відкриємо delphi-проект та видалимо з головної форми всі компоненти типу TDBTetx. Замість них будемо використовувати однорядкові редактори TDBEdit. Для цієї мети на формі розмістимо стільки компонентів, скільки полів ми хочемо переглядати. В нашому випадку необхідно сім компонентів.

Читати повністю

Візуальні компоненти призначені для роботи з базами даними

Як ми вже знаємо, будь-яка прикладна delphi-програма, призначена для роботи з базами даних, будується на основі використання трьох типів компонентів, це набір даних, джерело даних та візуальні компоненти для роботи з даними. Відмітимо, що в дану групу входять як візуальні, так і не візуальні компоненти. Не візуальні компоненти призначені для забезпечення доступу до даних та вибірки з бази даних інформації, що потім може оброблятися прикладною програмою. Візуальні компоненти, в свою чергу, призначені для відображення та редагування даних. Саме вони, по суті, забезпечують інтерфейс прикладної програми з користувачем. В середовищі програмування Delphi, вони розташовуються на закладці Data Controls палітри компонентів:

Читати повністю

Основні властивості та методи компонентів набору даних

Розглядаючи складові delphi-програм, що створюються для роботи з базами даних, нами неодноразово було використано термін набір даних. Але що ж мається на увазі під цим терміном залишається не зовсім зрозумілим. Отже, у найпростішому випадку набір даних — це файл таблиці, фізично розташований на жорсткому диску комп'ютера, де таблиця складається з певного переліку полів, кожне з яких призначене для зберігання даних певного типу.

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

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

Читати повністю

Наступна сторінка »