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


         

Объекты полей



Объекты полей

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

Editl.Text := Tablel.Fields[0].AsString;

Свойство Fields представляет собой индексированный список объектов полей набора данных (см. гл. 12). Если разработчик не изменяет порядок следования полей в наборе данных, то расположение объектов полей в списке Fields соответствует структуре таблицы базы данных.

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



Editl.Text := Tablel.FieldByName('SomeField1).AsString;

Для того чтобы присвоить значение полю в текущей записи, можно воспользоваться приведенными выше способами или, если тип данных поля неизвестен, свойством Fieidvalues:

Tablel.FieldValues['SomeField'] := Editl.Text;

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

Tablel['SomeField'] := Editl.Text;

Editl.Text := Tablel['SomeField'];

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

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

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

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

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

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



Содержание раздела