Delphi для начинающих



 

Режим таблицы


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

Процесс создания приложения, обеспечивающего просмотр базы данных в режиме таблицы, рассмотрим на примере программы работы с базой данных "Школа".

Пусть база данных "Школа" (псевдоним школа), представляет собой таблицу, которая находится в файле School.db. Записи таблицы school состоят из полей: Name (Имя), Fam (Фамилия), class (Класс), Adr (Адрес) и N (Личный номер). Поля Name, Fam, class и Adr являются полями символьного типа (тип А), а поле N — числовое, с автоувеличением.

Примечание

Псевдоним Школа следует создать при помощи BDE Administrator, а таблицу (файл school.db) — при помощи Database Desktop.

Сначала в форму разрабатываемого приложения нужно добавить компоненты Table и DataSource, которые обеспечивают доступ к файлу данных, и установить значения их свойств (табл. 17.14).

Таблица 17.14. Значения свойств компонентов Table1 и DataSource1

Свойство

Значение

Tablel . DatabaseName

Tablel . TableName

Tablel. Active DataSourcel . Dataset

Школа school . db

True

Tablel

Для обеспечения просмотра и редактирования данных в режиме таблицы в форму приложения надо добавить компонент DBGrid, значок которого находится на вкладке Data Controls (рис. 17.13). Вид формы разрабатываемого приложения после добавления компонента DBGrid приведен на рис. 17.14.

Рис. 17.13. Значек компонента DBGrid

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

Компонент DBGrid обеспечивает представление базы данных в виде таблицы. Свойства компонента DBGridl определяют вид таблицы и действия, которые могут быть выполнены над данными во время работы программы. В табл. 17.15 перечислены некоторые свойства компонента DBGrid.

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

Свойство

Определяет

Name

Имя компонента

DataSource

Источник отображаемых в таблице данных

Columns

Отображаемую в таблице информацию

Options . dgTitles

Разрешает вывод строки заголовка столбцов

Options . dgIndicator

Разрешает вывод колонки индикатора. Во время работы с базой данных текущая запись помечается в колонке индикатора треугольником, новая запись — звездочкой, редактируемая — специальным значком

Options . dgColumnResize

Разрешает менять во время работы программы ширину колонок таблицы

Options . dgColLines

Разрешает выводить линии, разделяющие колонки таблицы

Options . dgRowLines

Разрешает выводить линии, разделяющие строки таблицы

Для того чтобы задать, какая информация будет отображена в таблице во время работы программы, нужно сначала определить источник данных для таблицы (установить значения свойства DataSource), затем — установить значения уточняющих параметров свойства Columns. Значение свойства DataSource задается обычным образом, то есть в окне Object Inspector. Чтобы установить значение свойства Columns, надо в окне Object Inspector выбрать это свойство и щелкнуть на кнопке с тремя точками. В результате открывается окно редактора колонок (рис. 17.15).

Рис. 17.15. Редактор колонок

Для того чтобы в компонент DBGrid добавить колонку, обеспечивающую просмотр содержимого поля записи файла данных, необходимо нажать кнопку Add New, находящуюся на панели инструментов в верхней части окна (это единственная доступная после запуска редактора кнопка), выделить добавленный элемент и, используя Object Inspector, установить значения свойств этой колонки (табл. 17.16). Свойство columns компонента DBGrid представляет собой массив компонентов типа TCoiumn. Каждой колонке соответствует элемент массива. Устанавливая значения свойств компонентов column, программист задает вид колонок компонента DBGrid, тем самым определяет вид всей таблицы.

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

Свойство

Определяет

FieldName

Поле записи, содержимое которого выводится в колонке

Width

Ширину колонки в пикселах

Font

Шрифт, используемый для вывода текста в ячейках колонки

Color

Цвет фона колонки

Alignment

Способ выравнивания текста в ячейках колонки. Текст может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRight Justify)

Title. Caption

Заголовок колонки. Значением по умолчанию является имя поля записи

Title .Alignment

Способ выравнивания заголовка колонки. Заголовок может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRight Justify)

Title. Color

Цвет фона заголовка колонки

Title. Font

Шрифт заголовка колонки

В простейшем случае для каждой колонки достаточно установить значение свойства FieldName, которое определяет имя поля записи, содержимое которого будет отображаться в колонке, а также значение свойства Title.Caption, определяющего заголовок колонки. В табл. 17.17 приведены значения свойств columns компонента DBGridl.

Таблица 17.17. Значения свойств компонента DBGrid1

Компонент

FieldName

Title . Caption

DBGrid1. Columns [0]

DBGrid1. Columns [1]

Fam

Name

Фамилия

Имя

 

Компонент

FieldName

Title . Caption

DBGrid1. Columns [2]

DBGrid1 . Columns [ 3 ]

Class

Adr

Класс

Адрес,телефон

Последнее, что надо сделать — добавить к форме компонент DBNavigator, настроив его на работу с таблицей-источником данных (свойству DataSource Нужно Присвоить значение Table1).

Окончательный вид формы приложения приведен на рис. 17.16.

Рис. 17.16. Форма после настройки компонента DBGrid1

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

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