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

Лабораторна робота № 6.

Розробка програми роботи з базою даних в C++ Builder

Мета роботи: Придбати практичні навички роботи з базами даних. Написати програму для роботи с базою даних.

Навчальний приклад:

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

База даних повинна бути створена в MS Access (формат 2002-2003). Програма повинна дозволяти користувачу створювати, редагувати та видаляти записи. Крім цього програма повинна підраховувати середній бал для обраного в таблиці студента. З’єднання с базою даних з допомогою технології ADO (от англ. ActiveX Data Objects — «об’єкти даних ActiveX») — інтерфейс програмування додатків для доступу до даних, розроблений компанією Microsoft.

Для створення форми використовуємо компоненти:

Label – для підписів;

Button – для ініціалізації дій;

Edit – для виведення кількості полів (колонок) и записів (рядків) таблиці;

ADOConnection – компонент для підключення до бази даних;

ADOTable – компонент для роботи зі структурою та даними таблиці бази даних;

DataSource – компонент для передачі даних компоненту DBGrid та DBNavigator.

DBGrid – компонент для візуалізації таблиці з БД;

DBNavigator – компонент для редагування записів підключеної таблиці БД

Рекомендована компоновка форми програми представлена на рис. 1.

Рис. 1. Рекомендована компоновка форми

Послідовність виконання роботи:

1) Створити базу даних «Відомість» в MS Access. Запустити Microsoft Office Access. Обрати пункт «Новая база данных» та вказати шлях для зьереження бази даних, для цього натиснути на кнопку навпроти поля «Имя файла».

Рис. 2. Створення БД

2) Обрати розташування файлу БД та вказати тип «Базы данных Microsoft Office Access 2002-2003 (*.mdb)» як показано на рис. 3.

Рис. 3. Вибір типа файлу БД

3) Натиснути кнопку «Создать» (рис. 2).

4) В наступному вікні натиснути кнопку режим (рис. 4) та створити ім.’я таблиці «Студенти»

Рис. 4. Перемикання режиму «Конструктор»

5) В БД створити таблицю «Студенти», структура якої показана на рис. 5.

Рис. 5. Поля таблиці «Студенти»

Поле «Номер заліковки» зробити ключовим (унікальним), для цього виділити це поле та натиснути кнопку на панелі інструментів:

Для поля ФИО вказати довжину поля 50 символів:

Рис. 6. Настройка розміру текстового поля (кіл-ті символів)

Інші поля повинні бути числовими. Вони будуть містити оцінку за відповідну дисципліну.

6) Змінити режим на «Таблица», нажав кнопку «Режим» на панелі інструментів

7) В таблицю ввести декілька записів. Наприклад:

Рис. 7. Приклад заповнення таблиці

8) Збереження та закрити базу даних. Перемістити файл бази даних в папку майбутньої програми.

9) Запустити C++ Builder. При запуску автоматично створюється новий проект. Вікно C++ Builder показано на рис. 2. Для створення нового проекту, у випадку якщо він не створився автоматично або ви його закрили, виконати команду меню File / New /Application.

10) Зберегти проект в свою робочу папку, виконав команду меню File / Save Project As. Буде збережено декілька файлів проекту.

11) Розташувати на формі потрібну кількість об’єктів (рис.1).

Вкладка Standard: Label , Button , Edit .

Вкладка ADO: ADOConnection , ADOTable .

Вкладка DataAccess: DataSource .

Вкладка DataControls: DBGrid , DBNavigator .

12) Змінити підписи об’єктів Label та форми Form1. Для цього необхідно у перелічених об’єктів відредагувати властивість Caption у відповідності з рис. 1.

13) У об’єктів Edit та ComboBox очистити поле властивості Text.

14) Оскільки об’єкти Edit використовуються тільки для виводу, то необхідно присвоїти властивості ReadOnly для цих об’єктів значення true.

15) Настройка підключення до БД здійснюється за декілька кроків:

1. Виділити компонент ADOConnection1. Встановити значення false для властивості Connected (з’єднання) та LoginPromt (вхід з паролем) Сформувати рядок підключення ConnectionString (рядок параметрів підключення до бази даних), натиснувши на кнопку с трьома точками.

Рис. 8. Настройка властивостей об’єкта ADOConnection1

В наступному вікні обрати пункт «Use Connection String» та натиснути на кнопку «Build»:

Рис. 9. Вікно настройки підключення

Далі необхідно обрати постачальника даних та натиснути на кнопку далі:

Рис. 10. Вибір постачальника даних

Вказати шлях до бази даних та перевірити з’єднання.

Рис. 11. Вибір файлу бази даних

Застосувати всі зміни та змінити значення властивості Connected на true.

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

Приклад рядка підключення:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ALL_WORK\ПРИКЛАДНАЯ ИНФОРМАТИКА\Прикладная информатика\Лабораторные работы\5-БД\Студенты.mdb;Persist Security Info=False

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

На цьому настройка компонента ADOConnection1 закінчена.

2. Виділити об’єкт ADOTable та в вікні «Object Inspector» в полі Connection обрати об’єкт ADOConnection1, а в полі TableName обрати таблицю з бази даних. Якщо з’єднання з базою даних не було встановлено, то необхідно перевірити рядок підключення в об’єкті ADOConnection1. В саму останню чергу встановити перемикач Active в положення true.

Рис. 12. Настройка об’єкта ADOTable1

3. Виділити об’єкт DataSource1 та в списку властивостей в полі DataSet обрати об’єкт ADOTable1.

Рис. 13. Настройка об’єкта DataSource1

4. Для об’єктів DBGrid та DBNavigator в полі властивості DataSource обрати об’єкт DataSource1:

5. При вірному виконанні всіх вище перелічених операції в об’єкт DBGrid повинна бути завантажена таблиця з бази даних (рис.14).

Рис. 14. Завантажена таблиця

Настройка підключення таблиці бази даних до програми завершена. Тепер необхідно написати код для розрахунку кількості полів та записів таблиці для наступного їх виведення в об’єкти Edit1 и Edit2.

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

При зміні даних в таблиці генерується подія OnDataChange об’єкта DataSource. Для обробки цієї події необхідно виділити об’єкт DataSource1 та в переліку подій Events два рази клацнути лівою кнопкою миші по полю OnDataChange. В створеній заготовці функції треба написати наступний програмний код:

17) Підрахунок середнього балу студента повинен здійснюватись по натисканню кнопки «Розрахувати середній бал». Для обробки натискання цієї кнопки два рази клацнути по ній та в заготовці функції написати наступний код:

18) Зберегти проект натиснувши кнопку на панелі інструментів.

19) Провести відтладку та тестування програми

20) Дослідити призначення кнопок об’єкту DBNavigator1 самостійно.

21) Відредагувати таблицю засобами програми. Відредагувати вже існуючі записи в таблиці, додати 4 та видалити 2 записи.

Завдання для отримання додаткових балів.

Задача для самостійної роботи №6:

Завдання: Доповнити програму «База даних». За бажанням користувача програма повинна підраховувати середній бал за обраною дисципліною.

Приблизна компоновка форми зміненої програми:

Примітка:

1. Перехід по записам (рядкам) в базі даних в прямому напрямку здійснюється командою ADOTable1->Next();

2. Для переходу на перший запис призначена команда ADOTable1->First();

3. Оголосити цикл переходу по записам таблиці можна двома способами:

for (i:=0; i< ADOTable1->RecordCount; i++)

або

while (ADOTable1->Eof)

4. Отримання цілого числа з поля за його іменем:

ADOTable1->Fields->FieldByName(s)->AsInteger;

5. Отримання цілого числа з поля за його індексом:

ADOTable1->Fields->Fields[i]->AsInteger;

6. Заповнення об’єкту ComboBox1 списком імен полів з таблиці:

ComboBox1->Items = ADOTable1->FieldList;

Індивідуальне завдання:

Створити додаток, що автоматизує роботу з базою даних для довільної наочної області.