Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IZVP_lab-novi.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.14 Mб
Скачать

Контрольні питання

      1. Яке призначення операції drag-and-drop при роботі з полями у Fields Editor?

      2. Що задає властивість компоненти Table - DisplayFormat?

      3. Основні властивості компоненти DBLookupListBox.

Лабораторна робота №11

Тема: Розробка програм баз даних С++ Builder

Мета: Навчитись розробляти програми з використаннях баз даних у С++ Builder

Хід роботи

1. Створимо новий проект

(дана програма повинна виводити списки клієнтів з таблиці Customer, їх замовлень з таблиці Orders, а також дозволяти вибирати діапазон номерів клієнтів).

2. Змінимо заголовок форми на "Контроль замовлень". Розмістимо на формі компонент TDBGrid, дві компоненти TGroupBox, один компонент TTable, два компоненти TQuery, три компоненти TDataSource. На компонент GroupBox1 помістимо три компоненти TRadioButton і дві компоненти TButton. На компонент GroupBox2 помістимо два компоненти TEdit, два компоненти TEdit і один компонент TButton.

Рис. 1. Розташування компонентів на формі

3. Встановимо наступні властивості для цих компонентів:

Ім'я компоненту

Властивість

Значення

Table1

DatabaseName

BCDEMOS

TableName

CUSTOMER.DB

Active

false

DataSource1

DataSet

Table1

DBGrid1

DataSource

DataSource1

Query1

Database Name

BCDEMOS

SQL

select * from orders

Active

false

DataSource2

DataSet

Query1

Query2

DatabaseName

BCDEMOS

DataSource3

DataSet

Query2

RadioButton1

Checked

true

4. Забезпечити при натисненні на кнопці «Відкрити список клієнтів» таблиця Customer буде відкриватися та закриватися, при цьому буде змінюватися і напис на кнопці.

5. Забезпечити при натисненні на кнопці «Відкрити список замовлень» таблиця Order буде відкриватися та закриватися, при цьому буде змінюватися і напис на кнопці.

6. Створити обробники подій OnClick для радіокнопок RadioButton1(Клієнти) і RadioButton2 (Замовлення) для підключення DBGrid1 до DataSource1 та DataSource2 відповідно.

7. Написати процедуру пошуку у діапазоні значень у таблиці клієнтів за полем CustNo.

8. За допомогою Visual Query Builder встановимо властивість SQL компоненту Query2. Виберемо як імені бази даних BCDEMOS і внесемо в запит таблиці CUSTOMER і ORDERS. Потім встановимо зв'язок між таблицями, провівши лінію від поля CustNo в таблиці CUSTOMER до поля CustNo в таблиці ORDERS.

Внесемо в запит наступні поля:

Customer.CustNo

Customer.Company

Orders.OrderNo

Orders.AmountPaid

Рис. 2. Використання Visual Query Builder для створення комбінованого запиту

Тепер відсортуємо результати запиту по номеру покупця і вийдемо з Visual Query Builder.

9. Використовуючи інспектор об'єктів, виберемо компонент Query2 і встановимо його властивість Active рівним true.

10. Створимо обробник події OnClick для RadioButton3:.

void __fastcall TForm1::RadioButton3Click(TObject *Sender) {DBGrid1->DataSource= DataSource3; }

11. Скомпілюємо проект. Натиснемо кнопками і "Відкрити список замовлень", щоб відкрити обидва набори даних. Спробуємо, використовуючи радіокнопки, перемикатися між ними. Натиснемо на радіокнопці "Замовлення клієнтів" і переконаємося, що результуючий набір даних дійсно містить відомості з обох таблиць.

Рис. 3. Так виглядає готова програма

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]