Разработка и эксплуатация АИС: Методическое пособие для выполнения лабораторных работ № 9-15, страница 11

Эти компоненты расположены на вкладке “DataControls” палитры компонентов Delphi. Вот их примерный перечень:

·  TDBText – статический текст (аналог TLable).

·  TDBEdit – однострочное поле редактирования (аналог TEdit).

·  TDBMemo – многострочное поле редактирования (аналог TMemo).

·  TDBImage – изображение в формате .BMP или .ICO (аналог TImage).

·  TDBListBox – список значений (аналог TListBox).

·  TDBComboBox – выпадающий список значений (аналог TComboBox).

·  TDBCheckBox – флажок-переключатель (аналог TCheckBox).

·  TDBRadioGroup – группа радиокнопок (аналог TRadioGroup).

·  TDBRichEdit – многострочное поле редактирования с возможностью форматирования текста (аналог TRichEdit).

Все перечисленные компоненты имеют два основных свойства, предназначенные для связи их с БД:

DataSource – имя компонента источника данных.

DataField – поле в таблице БД, с которым связан компонент.

Помимо указанных выше на вкладке “DataControls” палитры компонентов Delphi есть еще один компонент для работы с БД – TDBNavigator, позволяющий перемещаться по записям таблицы БД, добавлять и удалять записи, переводить набор данных в режим редактирования и сохранять сделанные изменения в БД. Внешний вид этого компонента представлен на рисунке ниже:

 


Среди свойств компонента TDBNavigator следует отметить следующие:

DataSource – имя компонента источника данных.

Hints – список (типа TStrinsg) всплывающих подсказок к кнопкам.

VisibleButtons – множество свойств, определяющих отображение на форметой или иной кнопки компонента.

Для дальнейшего рассмотрения возможностей компонентов визуализации атомарных значений БД создадим форму редактирования типов гостиничных номеров и их стоимостей. Внешний вид формы с обозначением расположенных на ней компонентов можно увидеть на рисунке ниже:

Компонент TTable подключен к таблице “types”, к нему подключен набор данных TDataSource, который указан в свойстве DataSource компонентов TDBComboBox и TDBList. В их свойствах DataField установлены значения “tip_name” и “price” соответственно.

Произведенных действий достаточно для того, чтобы можно было просматривать, редактировать, добавлять и изменять значения данных, хранящихся в БД.

Если возникает необходимость программно имитировать работу компонента TDBNavigator (например, если его внешний вид не вписывается в интерфейс программы), можно воспользоваться соответствующими методами компонента TTable:

First – перейти к первой записи.

Prior – перейти к предыдущей записи.

Next – перейти к следующей записи.

Last – перейти к последней записи.

Append – добавить новую запись в конец набора данных.

Insert - добавить новую запись в текущую позицию набора данных.

Delete – удалить текущую запись.

Edit – редактировать текущую запись.

Post – сохранить изменения в БД.

Cancel – отменить сделанные изменения.

Refresh – обновить набор данных с учетом сделанных изменений.

Методы Post и Cancel основаны на том, что все изменения в наборе данных кэшируются в памяти и по отношению к БД выполняются в виде транзакции. Метод Post перемещает изменения из кэша в физическую БД (эквивалент метода Flush для файлов), вызывает COMMIT транзакции и очищает кэш изменений. Метод Cancel очищает кэш изменений и вызывает ROLLBACK транзакции без сохранения изменений. Соответственно, метод Cancel отменяет только те изменения, которые были сделаны после последнего вызова метода Post.

Задания:

1)  Изучите пример выполнения задания.

2)  Добавьте в программу, созданную Вами при выполнении лабораторных работ №9-10, следующие возможности (термин “редактирование” здесь означает “добавление, изменение, удаление”):

Вариант 1:  редактирование информации о товарах.

Вариант 2:  редактирование информации о товарах и поставщиках.