Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Работа с полями
Любая запись набора данных представляет собой совокупность полей. Поля представляют собой объекты, производные от типа TField. Каждое поле имеет определенный тип данных и соответствующий ему объект. Свойство Fields содержит коллекцию полей набора данных.

 

Использование объектов-полей
К полю набора данных можно обратиться по его имени, используя метод FieldByName, или через свойство Fields. В первом случае используется конструкция DataSet.Fields[i].AsInteger., а во втором — DataSet.FieldByNameUSome-Field»).AsInteger.
Каждый объект имеет ряд свойств, определяющих структуру поля. Список этих свойств не так уж велик:
- название поля;
- тип данных ноля;
- вид поля;
- размер поля;
- иные атрибуты, присущие полю конкретного типа.

Свойство FieldDefs содержит список параметров каждого ноля из набора данных. В примере, приведенном в листинге 2.8, демонстрируется использование свойства FieldDefs. При помощи метода AddFieldDef добавляется несколько объектов полей с определенными свойствами.

 

Листинг 2.8. Использование FieldDefs
procedure TForml.FormCreateCSender: TObject);
begin
with ClientDataSetl do
begin
with FieldDefs.AddFieldDef do
begin
DataType':= ftlnteger;
Name :- 'Fieldl':
end;
with FieldDefs.AddFieldDef do
begin
DataType :- ftStnng;
Size :- 10:
Name := 'Field2':
end;
end;
end;

 

Как видно из примера, каждое поле имеет некоторый тип данных (DataType), размер (DataSize) и название (FieldName). Также каждое поле имеет какой-либо вид (FieldKind), определяющий его функциональное назначение.

Свойство FieldCount возвращает число нолей, содержащихся в данном наборе данных. Конечно, одним количеством полей не обойтись. Чаще всего требуется получить еще и дополнительную информацию о полях. Для этой цели используется метод GetFieldNames. В качестве параметра этому методу передается список. После отработки метода в переданном списке будут размещены названия всех полей данного набора данных.

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

 

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

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

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

Компонент набора данных после подключения к таблице базы данных без дополнительных настроек использует только динамические поля. Если на этапе разработки задано хоть одно статическое поле, динамические поля создаваться уже не будут.
Добавить к списку статических полей новое поле очень просто, для этого необходимо выбрать команду Fields Editor контекстного меню набора данных либо щелкнуть на нем два раза.

На рис. 2.6 представлен вид редактора полей набора данных. В наборе определено несколько статических полей.

 

рис 2-6




   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru