Для выполнения операций, связанных с заданием ограничений на значения полей, нужно выбрать пункт Validity Checks (Проверка значений) комбинированного списка Table Properties, при этом под списком появляются переключатель и поля редактирования, отображающие установки для выбранного поля таблицы.
Требование обязательного ввода значения означает, что поле не может быть пустым. Это требование действует при добавлении к таблице новой записи. До того как изменения в таблице будут подтверждены, поле должно получить какое-либо непустое значение, в противном случае генерируется ошибка.
Данное требование удобно использовать для обязательных полей таблицы, например, для поля фамилии и имени. Обязательность ввода значения не действует на автоинкрементное поле, которое и без того является обязательным и автоматически заполняемым.
Для указания обязательности ввода значения в поле необходимо установить переключатель Requied Field, который по умолчанию выключен.
Для полей некоторых типов, в первую очередь числовых, денежных, строковых и даты, иногда удобно задавать диапазон возможных значений, а также значение по умолчанию (поля Minimum Value, Maximum Value, Default Value).
Для сохранения структуры таблицы нужно нажать на кнопку Save as и задать имя таблицы.
После сохранения таблицы ее можно открыть для редактирования (команда File / Open / Table). Команды, доступные с помощью пиктограмм, перечислены в табл. 2.
Пиктограмма |
Команда |
|
Вырезать в буфер обмена |
|
Скопировать в буфер обмена |
|
Вставить из буфера обмена |
|
Редактировать структуру таблицы |
|
Переход к первой записи |
|
Переход к предыдущей записи |
|
Переход к следующей записи |
|
Переход к последней записи |
|
Переход в режим просмотра полей |
|
Переход в режим редактирования полей |
Пример заполненной таблицы приведен на рис. 22.
Утилита BDE Administrator представляет собой администратор процессора БД BDE. Ее можно вызвать через главное меню Windows выбором пункта Программы / Borland Delphi 7 / BDE Administrator.
Администратор BDE позволяет настраивать параметры БД (название, тип, путь), драйвера БД (тип, язык), операционной системы (формат даты, времени и т. д.).
Для создания псевдонима БД нужно выбрать команду Object / New (при этом в левой части главного окна программы должна быть выбрана вкладка Database). После этого появится диалоговое окно создания псевдонима, в котором нужно выбрать тип драйвера (рис. 23).
После нажатия кнопки ОК создается псевдоним, и его данные отображаются в окне Администратора BDE (рис. 24). Новый псевдоним автоматически получает имя Standart1 и параметры по умолчанию. Переименовать псевдоним можно, выполнив команду Object / Rename или выбрав пункт контекстного меню Rename.
Псевдоним для работы с БД имеет три параметра:
формат БД (тип драйвера) – по умолчанию имеет значение Paradox;
формат чисел BCD – по умолчанию имеет значение false; если установлен в true, то вычисления будут выполняться более точно, но медленнее;
путь физического расположения БД – устанавливается разработчиком.
Зеленый треугольник рядом с псевдонимом показывает, что объект находится в режиме редактирования. Для сохранения всех изменений нужно выбрать команду Object / Apply (или Apply в контекстном меню). После этого треугольник исчезнет.
Каждое приложение, использующее БД, обычно имеет, по крайней мере, по одному компоненту следующих трех типов:
компоненты – наборы данных (data set), непосредственно связывающиеся с БД; для BDE это компоненты, расположенные на странице BDE палитры компонентов: Table, Query, StoredProc, Database и т. д.;
компоненты визуализации и управления данных (страница Data Controls): DBGrid, DBNavigator, DBText, DBEdit, DBCheckBox и др.;
компоненты – источники данных (data source), осуществляющие обмен информацией между наборами данных и компонентами визуализации; таким компонентом является DataSource со страницы Data Access;
Связь этих компонентов друг с другом и с БД можно представить схемой, приведенной на рис. 25.
Схема взаимодействия компонентов с БД
Разработаем простейшее приложение, работающее с созданной ранее БД.
Откроем
новое приложение и поместим на форму
компоненты Table
и DataSource
.
Оба эти компоненты невизуальные, т. е.
во время работы программы будут не
видны, следовательно, их можно разместить
в любом месте формы. В качестве компонента
визуализации будем использовать DBGrid
(его тоже нужно добавить на форму).
Теперь установим цепочку связей между этими компонентами. Главное свойство DBGrid и других компонентов визуализации – DataSource. Выделим DBGrid и в Инспекторе объектов выберем в выпадающем списке в поле DataSource единственный источник данных DataSource1. Далее выделим DataSource1 и в качестве его набора данных (свойство DataSet) установим Table1.
Свяжем компонент Table1 с таблицей БД. Для этого используются два свойства: DatabaseName (имя БД) и TableName (имя таблицы). В качестве имени БД зададим созданный псевдоним dbpeople, в качестве таблицы – people.db.
Чтобы соединиться с БД, надо присвоить свойству Active компонента Table1 значение true.
Форма с размещенными на ней компонентами изображена на рис. 26.
Теперь приложение можно запустить на выполнение и убедиться, что в таблице можно просматривать и изменять данные.
Чтобы запретить пользователю редактировать данные, нужно установить свойство DBGrid ReadOnly в true.
Для редактирования отдельных полей служит Редактор полей, который вызывается двойным нажатием на компоненте Table1. Сначала редактор пуст. Для добавления полей нужно в контекстном меню редактора выбрать команду Add fields (добавить поля). Появится диалоговое окно, содержащее список всех полей таблицы. С помощью курсора выделим в нем все поля, кроме Id. Дальше работать можно будет только с ними. После нажатия кнопки ОК выбранные поля будут добавлены в основное окно редактора (рис. 27).
При выделении в редакторе какого-либо поля его свойства отображаются в Инспекторе объектов, причем точный набор свойств определяется типом данных поля. К числу наиболее важных свойств относятся:
Alignment – определяет выравнивание отображаемого текста внутри колонки таблицы;
DisplayLabel – определяет отображаемый заголовок столбца;
DisplayWidth – определяет ширину колонки в символах;
ReadOnly – определяет, является ли поле редактируемым или только для чтения;
Visible – определяет видимость поля.
Добавим на форму еще один компонент, управляющий работой с таблицей – навигатор DBNavigator. Компонент имеет ряд кнопок, служащих для управления данными (табл. 3).
Сделать некоторые кнопки невидимыми можно с помощью свойства VisibleButtons.
Кнопка |
Команда |
|
переход к первой записи |
|
переход к предыдущей записи |
|
переход к следующей записи |
|
переход к последней записи |
|
добавление новой записи перед текущей |
|
удаление текущей записи |
|
редактирование текущей записи |
|
пересылка отредактированной информации в БД |
|
отмена результатов редактирования или добавления новой записи |
|
очистить буфер, связанный с набором данных |