Сортування даних в таблиці бази даних
Зміст
- Умова задачі
- Виконання
- 1. Запустити Borland C++ Builder
- 2. Створити базу даних в Microsoft Access. Створити таблицю
- 3. Створити Windows-додаток
- 4. Формування компонент форми
- 5. Налаштування зв’язків між компонентами
- 6. Встановлення доступу до бази даних без введення паролю
- 7. Активація таблиці Tovar
- 8. Налаштування DBGrid1
- 9. Кнопки виклику сортування
- 10. Програмування обробників подій
Пошук на інших ресурсах:
Умова задачі
Задано таблицю Tovar бази даних, що має таку структуру
ID_Tovar |
Name | Code | Count | Price |
… |
… |
… |
… |
… |
Виконання
1. Запустити Borland C++ Builder
2. Створити базу даних в Microsoft Access. Створити таблицю
Створити базу даних Microsoft Access, яка містить одну таблицю з назвою Tovar. Ім’я файлу бази даних довільне.
Завантажити готовий файл бази даних можна тут. Занести в таблицю Tovar не менше 3-х записів для того, щоб можна було перевірити сортування.
3. Створити Windows-додаток
Детальний приклад створення Windows-додатку в Borland C++ Builder 2007 описується тут.
4. Формування компонент форми
Винести на форму такі компоненти:
- TADOConnection;
- TADOTable;
- TDataSource;
- TDBGrid.
У результаті утворяться об’єкти-змінні з такими іменами: ADOConnection1, ADOTable1, DataSource1, DBGrid1.
5. Налаштування зв’язків між компонентами
Щоб налаштувати компоненти між собою та зв’язати їх з базою даних потрібно:
- підключити файл бази даних до програми з допомогою властивості ConnectionString компонента ADOConnection1. Детальний приклад підключення файлу бази даних до програми можна переглянути тут;
- у компоненті ADOTable1 властивість Connection встановити в значення ADOConnection1;
- у компоненті DataSource1 властивість DataSet встановити в значення ADOTable1;
- у компоненті DBGrid1 властивість DataSource встановити в значення DataSource1.
6. Встановлення доступу до бази даних без введення паролю
У компоненті ADOConnection1 властивість “LoginPrompt” потрібно встановити у значення “false”.
7. Активація таблиці Tovar
У компоненті ADOTable1 властивість TableName встановити в значення Tovar (вибрати з спадного списку).
Властивість Active компонента ADOTable1 встановити в значення true. У результаті таблиця Tovar відобразиться на екрані.
8. Налаштування DBGrid1
Виконати налаштування ширини полів таблиці Tovar таким чином, щоб усі поля відображались у вікні компонента DBGrid1.
9. Кнопки виклику сортування
Для прикладу винесемо три кнопки сортування з іменами Button1, Button2 та Button3. Сформуємо властивості Caption наступним чином:
- Button1.Caption = “Name”;
- Button2.Caption = “Code”;
- Button3.Caption = “Count”.
Саме по назвам полів буде відбуватись сортування.
В загальному форма матиме такий вигляд (рис. 1).
Рис. 1. Загальний вигляд форми додатку
10. Програмування обробників подій
Обробники подій кліку мишкою на кнопках Button1, Button2, Button3 мають такий вигляд.
// Кнопка Button1 (сортування за полем Name)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOTable1->IndexFieldNames = "Name";
}
// Кнопка Button2 (сортування за полем Code)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ADOTable1->IndexFieldNames = "Code";
}
// Кнопка Button3 (сортування за полем Count)
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ADOTable1->IndexFieldNames = "Count";
}
Як видно з програмного коду, у всіх трьох обробниках у властивість IndexFieldNames компонента ADOTable1 заноситься назва відповідного поля таблиці. Автоматично, відбувається сортування за заданим полем. Якщо поле IndexFieldNames залишити пустим, то дані будуть сортуватись за первинним ключем. Якщо первинного ключа в таблиці немає, то дані будуть розміщуватись по мірі їх внесення в таблицю.
Більш ширші можливості сортування дає компонент TADOQuery.
Після запуску проекту на виконання видно, що дані в таблиці сортуються після натиску відповідної кнопки.