Однако группировка по уровням выше нулевого возможна, только если в наборе данных используется индекс по группирующим полям. Например, если СЮЙСГВО GroupingLevel = 2 И набор даННЬГХ начинаются С ПОЛеЙ CustNo и orderNo, в свойстве indexName компонента набора данных и свойстве

property IndexName: String;

объекта агрегатного поля должно быть имя индекса, включающего оба эти поля.

По причине необходимости подключения индексов, уровень группировки выше нулевого возможен только в табличных компонентах.

Объектные ПОЛЯ

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

В Delphi существуют четыре класса объектных полей. Это - TADTFieid, TArrayField, TDataSetField, TReferenceField. Их общим предком является Класс TObjectField. Классы TAD1 Heid, TArrayField обеспечивают доступ к набору дочерних полей одного типа из родительского. Эти типы полей можно использовать, если сервер БД поддерживает объектные типы и соответствующие поля имеются в наборе данных. Поэтому объектные поля можно создавать статически и динамически, также, как и простые поля.

Для доступа к дочерним полям в этих классах имеются свойства:

□ property Fields: TFields;
которое представляет собой индексированный список объектов дочерних полей (см. гл. 12);
□ property FieldValues [Index: Integer]: Variant;
которое содержит значения дочерних полей;
□ property FieldCount: Integer;

которое возвращает количество дочерних полей. Классы TDataSetField И TReferenceField предоставляют доступ К данным ИЗ связанных наборов данных.

Ссылка на используемый набор данных задается свойством

property DataSet: TDataSet;

Более подробно классы TDataSetField И TReferenceField рассматриваются в части V.

Типы данных

В среде разработки Delphi можно создавать приложения для работы с самыми разными базами данных. Такая универсальность подразумевает необходимость применения средств, которые бы обеспечили возможность работы со многими типами данных, используемыми в этих базах данных.

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

Есть типы данных, которые реализованы далеко не на каждой платформе. Есть, наконец, просто уникальные типы данных.

Для удовлетворения потребностей разработчиков в Delphi применен следующий способ работы с типами данных.

Тип данных однозначно связан с конкретным полем таблицы базы данных. Без этого поля само понятие типа данных не имеет практического смысла. В Delphi свойства абстрактного поля инкапсулирует класс TFieid, который не имеет заранее определенного типа данных. Уже от этого класса порождено целое семейство классов для типизированных полей (см. рис. 13.1), каждый из которых умеет обращаться со своим типом данных.

Ç Примечание )

В классе TField имеется свойство DataType, которое отвечает за тип данных, но оно не может быть изменено.


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

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



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

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс