Tablel.FieldValues['SomeFieldЧ := EHitl.Text;

Знание имени поля дает самый простой способ обращения к текущему значению поля:

Tablel['SomeField'] := Editl.Text;
E±Ltl.Text := Tablel['SomeField'] ;

При присваивании значений полям набора данных необходимо контролировать состояние, в котором находится набор данных(см. гл. 12).

В основе классов, описывающих иерархию типизированных полей, лежит класс тг1еЫ. От него порождены другие классы, обеспечивающие работу целых групп полей, объединенных по типам данных.

Что же такое объект поля и какие возможности он предоставляет разработчику?

Во-первых, назначение класса TFieid, как базового класса поля, заключается в умении взаимодействовать с компонентом отображения данных для обеспечения правильной визуализации данных. Например, объект поля хранит способ выравнивания, параметры шрифта, текст заголовка и т. д.

Во-вторых, с точки зрения набора данных объект поля является хранилищем текущего значения этого поля (а не всего столбца данных, как это можно себе представить по названию).

Программирование в Delphi 7

Рис. 13.1. Иерархия классов полей

Компоненты отображения данных при работе с набором данных взаимодействуют именно с полями. Например, колонки компонента TDBGrid при отсутствии дополнительных настроек соответствуют расположению объектов полей в связанном наборе данных.

Статические и динамические поля

В Delphi предусмотрено два способа создания объектов полей.

Динамические поля используются программой в случае, если разработчик не создал для них объекты явным образом на этапе разработки. Каждый не заданный явно объект поля автоматически создается при открытии набора данных в соответствии со структурой связанной таблицы БД. Любой объект поля является прямым наследником класса т Fie id, а его конкретный тип зависит от типа данных поля таблицы. При этом свойства динамического поля устанавливаются в соответствии с параметрами поля таблицы базы данных.

Компонент набора данных после подключения к таблице БД без дополнительных настроек использует только динамические поля. К свойствам и методам динамических полей можно обратиться программно, для этого следует использовать индексированное свойство Fields компонента доступа к данным, которое объединяет все поля набора данных (см. выше) или метод FieldByName.

Динамические поля используются в случаях, когда заданные характеристики полей в таблице базы данных полностью удовлетворяют разработчика и нет необходимости рассматривать какое-либо поле вне набора данных.

Статические поля создаются программистом на этапе разработки, их свойства доступны в Инспекторе объектов, а их названия можно выбрать из списка объектов активной формы в верхней части Инспектора объектов. Название статического объекта поля обычно складывается из названий таблицы И ПОЛЯ, например OrdersCUSTNO.

Создаются статические объекты полей при помощи специализированного Редактора полей, который вызывается двойным щелчком на компоненте набора данных на форме или командой Fields Editor из всплывающего меню этого компонента.

Редактор полей представляет собой простой список уже созданных статических полей. Все управление осуществляется командами из всплывающего меню. В верхней части окна Редактора расположены кнопки навигатора для перемещения по набору данных, которые активны только при открытом наборе данных. Если набор данных имеет агрегатные поля данных (см. ниже), то они размещаются в отдельном списке в нижней части окна Редактора полей (рис. 13.2).


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Октябрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс