Программирование с C++ Builder



Манипулирование данными



Для того чтобы пользователь мог не только просматривать базу данных (решение этой задачи в рассматриваемой программе обеспечивает компонент DBGrid), но и редактировать ее, в форму приложения надо добавить компонент DBNavigator, значок которого находится на вкладке Data Controls (рис. 5.14). Компонент DBNavigator (рис. 5.15) представляет собой набор командных кнопок, обеспечивающих перемещение указателя текущей записи к следующей, предыдущей, первой или последней записи базы данных, а также добавление в базу данных новой записи и удаление текущей записи.

Табл. 5.11 содержит описания действий, которые выполняются в результате щелчка на соответствующей кнопке компонента DBNavigator. Свойства компонента DBNavigator перечислены в табл. 5.12.



Рис. 5.14. Значок компонента DBNavigator находится на вкладке Data Controls



Рис. 5.15. Компонент DBNavigator


Таблица 5.11. Кнопки компонента DBNavigator


Кнопка
Обозначение
Действие

К первой
nbFirst
Указатель текущей записи перемещается к первой записи файла данных

К предыдущей
nbPrior
Указатель текущей записи перемещается к предыдущей записи файла данных

К следующей
nbNext
 Указатель текущей записи перемещается к следующей записи файла данных

К последней
nbLast
 Указатель текущей записи перемещается к последней записи файла данных

Добавить
nblnsert
 В файл данных добавляется новая запись

Удалить
nbDelete
Удаляется текущая запись файла данных

Редактирование
nbEdit
Активизирует режим редактирования текущей записи

Сохранить
nbPost
 Изменения, внесенные в текущую запись, записываются в файл данных

Отменить
Cancel
Отменяет внесенные в текущую запись изменения

Обновить
nbRef resh
 Записывает внесенные изменения в файл


Таблица 5.12. Свойства компонента DBNavigator

Свойство
Определяет

DataSource

Компонент, являющийся источником данных. В качестве источника данных может выступать база данных (компонент Database), таблица (компонент Table) или результат выполнения запроса (компонент Query)

VisibleButtons

Видимые командные кнопки


Следует обратить внимание на свойство visibleButtons. Оно позволяет скрыть некоторые кнопки компонента DBNavigator и тем самым запретить выполнение соответствующих операций над файлом данных. Например, присвоив значение false свойству visibleButtons.nbDelete, можно скрыть кнопку nbDelete и тем самым запретить удаление записей.

На рис. 5.16 приведен вид формы приложения "Ежедневник" после добавления компонента DBNavigator. Свойству DataSource компонента DBNavigator1 следует присвоить значение Table1.



Рис. 5.16. Форма приложения после добавления компонента DBNavigator


После этого программу можно откомпилировать и запустить. Следует обратить внимание, что для того чтобы после запуска программы в окне появилась информация или, если база данных пустая, можно было вводить новую информацию, свойство Active таблицы-источника данных должно иметь значение true.

Работа с базой данных, представленной в виде таблицы, во многом похожа на работу с электронной таблицей Microsoft Excel. Используя клавиши перемещения курсора вверх и вниз, а также клавиши листания текста страницами (<Page Up> и <Page Down>), можно, перемещаясь от строки к строке, просматривать записи базы данных. Нажав клавишу <Ins>, можно добавить запись, а нажав клавишу <Del> — удалить. Для того чтобы внести изменения в поле записи, нужно, используя клавиши перемещения курсора влево и вправо, выбрать необходимое поле и нажать клавишу <F2>.