Сортировка записей в базе данных
Содержание
- Условие задания
- Выполнение
- 1. Запустить Borland C++ Builder
- 2. Создать базу данных Microsoft Access. Создать таблицу
- 3. Создать Windows-приложение
- 4. Формирование компонент формы
- 5. Настройка связей между компонентами
- 6. Установка доступа к базе данных без ввода пароля
- 7. Активация таблицы Tovar
- 8. Настройка DBGrid1
- 9. Кнопки вызова сортировки
- 10. Программирование обработчиков событий
Поиск на других ресурсах:
Условие задания
Задана таблица Tovar базы данных «db2.mdb» со следующей структурой полей:
ID_Tovar |
Name | Code | Count | Price |
… |
… | … | … |
… |
Поле ID_Tovar есть первичным ключом.
Выполнить сортировку данных в таблице по одному из заданных полей.
Выполнение
1. Запустить Borland C++ Builder
2. Создать базу данных Microsoft Access. Создать таблицу
Создать базу данных в Microsoft Access, которая содержит одну таблицу под названием Tovar. Имя файла базы данных произвольный.
Загрузить готовый файл базы данных можно здесь. Занести в таблицу не менее 3-х записей с целью проверки правильности сортировки.
3. Создать Windows-приложение
Подробный пример создания Windows-приложения в Borland C++ Builder 2007 описывается здесь.
4. Формирование компонент формы
Выносим на главную форму приложения компоненты следующих типов:
- TADOConnection;
- TADOTable;
- TDataSource;
- TDBGrid.
В результате будут созданы объекты-переменные с такими именами: ADOConnection1, ADOTable1, DataSource1, DBGrid1.
5. Настройка связей между компонентами
Настройка связей между компонентами осуществляется с помощью инспектора объектов (Object Inspector).
Чтоб настроить компоненты между собой и связать их с базой данных необходимо:
- подключить файл базы данных к приложени с помощью свойства 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.
После запуска проекта на исполнение видно, что данные таблицы сортируються в порядке возрастания после нажатия соответствующей кнопки.