По умолчанию для каждого типа набора данных при открытии создается автоматически объект TField. И все поля будут динамическими и доступными. Для создания статических полей используется спец. редактор – редактор полей. Если использовать компонент TQuery, то состав полей можно определять в тексте SQL запроса, несмотря на то, что они будут динамическими. Если используются поля по умолчанию, то необходимо определить свойство defaultfields. Значение true определяет для набора данных поле по умолчанию, false – для набора данных заданы статические поля. Редактор полей можно вызвать у TQuery и у TTable. Запускаются двойным щелчком или из контекстного меню, используя команду FieldsEditor. Заголовок редактора имеет составное имя, которое состоит из имени формы и второй части – набора данных. Для вставки одного поля используется команда Add, для вставки всех полей – AddAll, для вставки нового поля – AddNewField. Команда Delete позволяет удалить поля. При работе с новым полем в одноименном диалоговом окне предлагается список полей, еще не являющихся статическими. Редактор полей позволяет изменить порядок следования. Команда New Field позволяет создать статическое поле следующих типов:
1. Поле данных, связанное с соответствующим физическим полем таблицы.
2. Вычисляемое поле, значение которого рассчитывается в обработчике события onCalcFields во время выполнения приложения.
3. Поле выбора, значение которого можно выбирать из списка, формирующегося на основе некоторых критериев и правил.
На панели Fields Properties находятся общие свойства поля независимо от его типа (тип, размер, имя). Тип нового поля задается с помощью переключателей Data (поле данных), Calculated, Lookup (поле выбора).
Создание вычисляемого поля. После выбора Calculated необходимо создать обработчик события onCalcFields типа TDataSetNotifyEvents, в котором данному полю присваивается требуемое значение. В выражении имени вычисляемого поля могут входить другие поля, переменные и константы. Событие onCalcFields генерируется каждый раз при считывании записи из таблицы и при изменении значения вычисляемого поля, если свойство AutoCalcFields установлено в true.
Пример. Необходимо вычислить сумму заказа, когда в таблице параметры заказа необходимо умножить значение полей количество и цена.
Procedure TForm1.Param_ZakazCalcFields(…);
begin
Param_Zakaz.Value:=Param_ZakazKolichestvo.Value*Param_ZakazCena.Value;
end;
Создание поля просмотра. Нужно, если надо использовать значение из аналогичного поля из другого набора данных. Как и при создании вычисляемого поля, необходимо определить общие свойства этого поля и на панели FieldsType поставить флаг около значения LookUp. Затем станет доступна панель LookUpDefinition, где необходимо выполнить настройки поля KeyFields – поля, где содержится список, построенный на основании значения поля LookUpKeys; DataSet – поле, в которое заносится имя таблицы; ResultField – поле, содержащее имя вновь создаваемого поля.
Средства, использующиеся для разработки и эксплуатации приложения БД (BDE, BDE Administrator, Database Desktop, невизуальные компоненты для работы с БД, визуальные компоненты, SQL Explorer) и краткая их карактеристика.
BDE – представляет собой набор DLL библиотек, обеспечивающий низкоуровневый доступ к локальным и клиент-серверным БД. Устанавливается на каждой машине.
BDE Administrator – позволяет установить псевдоним БД, место расположения в файловой структуре, параметры и утилиты БД на конкретном компьютере, параметры, которые определяются псевдонимом БД, действуют только для этой БД, а параметры, определяемые для драйвера БД, работают для всех БД, использующих этот драйвер. Можно установить форматы времени, даты, язык и др.
Database Desktop – позволяет создавать, изменять и просматривать БД. Утилита работает как с локальными, так и с распределенными СУБД. Может формировать запрос по образцу.
SQL Explorer – утилита, совмещающая функции BDE Administrator и Database Desktop, можно создавать и просматривать псевдонимы, содержимое, структуры БД, создавать запросы SQL, наполнять БД.
SQL Links – необходимо для работы с удаленными серверами, а SQLInterBase имеет свой драйвер. К локальным СУБД доступ осуществляется напрямую без использования SQL Links.
SQL Monitor – инструмент отладки программ, который запускается через главное меню. Данным средством осуществляется мониторинг обмена сообщений с сервером. В режиме диалога SQL Monitor предоставляет возможность просматривать полный текст сообщения.
Datapump – позволяет перемещаться между различными типами БД (локальные и распределенные).
DataDictionary – словарь данных, хранит заголовки полей таблиц отдельно от самих БД, которые могут быть использованы другими приложениями.
DataModul – хранит набор данных и позволяет связываться с каждым набором по средствам своих невизуальных компонентов, а существующие бизнес правила определяют возможности изменения, добавления, удаления данных и блокировку действий, выходящих за ссылочную целостность.
Невизуальные компоненты для работы с БД – служат для соединения приложения с таблицами БД в локальных и распределенных системах. Они расположены на странице Data Access палитры компонентов. С помощью невизуальных компонентов осуществляется подключение к базам данных, формирование запросов к ним, манипулирование таблицами.
Визуальные компоненты для работы с БД – предназначены для визуализации записей наборов данных или их отдельных полей. Эти компоненты расположены на странице Data Controls палитры компонентов. Они служат основным инструментом разработки пользовательского интерфейса доступа к данным.