BeforeOpen – возникает непосредственно перед открытием набора данных. В его обработчике можно выполнить проверку каких-либо условий, и если они не соблюдены, то открытие набора данных можно запретить, например, с помощью процедуры Abort.
AfterOpen– возникает сразу после открытия набора данных.
BeforeClose иAfterClose –возникают при закрытии набора данных.
Закрытие набора данных автоматически не сохраняет текущую запись, то есть произведенные изменения при редактировании или вставки для текущей записи будут потеряны. Поэтому перед закрытием набора данных нужно вызвать метод Post.
if (Table1.State=dsEdit) or (Table1.State=dsInsert)
then Table1.Post;
end;
p
Объект поля Field:TField служит полем набора данных. Тип TField – абстрактный класс и непосредственно не используется. Вместо него применяются производные классы, которые соответствуют типу данных. Типы объектов TField приведены в следующей таблице.
Тип объекта
Вид поля
TBLOBField
BLOB – поле
TMemoField
Memo – поле
TGraphicfield
Графическое поле
TBooleanField
Логическое поле
TBinaryField
Двоичное поле
TByteField
Поле байтов фиксированной длины
TVarBytesField
Поле байтов для значений переменной длины
TDateFiled
Поле даты
TFloatField
Поле вещественных значений
TIntegerField
Поле целочисленных значений (32 разряда)
TStringField
Поле строкового значения
Объекты типа TField являются невизуальными и служат для доступа к данным. Существуют два способа задания состава полей набора данных:
- по умолчанию (динамические поля),
- с помощью редактора полей (статические поля).
При каждом открытии набора данных, и при проектировании, и при выполнении приложения, для каждого поля набора автоматически создается свой объект типа TField (динамические поля).
Статические (устойчивые) поля создаются на этапе разработки приложения. Эти поля позволяют: определять вычисляемые поля, ограничивать состав полей, изменять порядок полей набора данных. Если хотя бы одно из полей набора данных является статическим, то динамические поля больше создаваться не будут.
Создание статических полей выполняется с помощью Редактора полей,который вызывается одним из следующих действий:
Ø дважды щелкнуть на компоненте Table,
Ø из контекстного меню компонента Table выбрать Fields Editor…
С помощью редактора полей можно создать новое статическое поле, удалить статическое поле, изменить порядок следования статических полей.