Иллюстрированный самоучитель по Delphi 7 для профессионалов

Абстрактный набор данных

Класс TDataSet содержит ряд свойств и методов, которые обеспечивают редактирование набора данных.

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

property CanModify: Boolean;

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

procedure Edit;

Для сохранения сделанных изменений применяется метод:

procedure Post; virtual;

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

При необходимости все сделанные после последнего вызова метода Post изменения можно отменить методом:

procedure Cancel; virtual;

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

procedure Append;

Новая пустая запись добавляется на место текущей методом:

procedure Insert;

А текущая запись и все нижеследующие смещаются на одну позицию вниз.

Внимание
При использовании методов Append и insert набор данных переходит в режим редактирования самостоятельно
.

Дополнительно, у вас есть возможность добавить или вставить новую запись уже с заполненными полями. Для этого применяются методы:

procedure AppendRecord(const Values: array of const);
 procedure InsertRecord(const Values: array of const);

А делается это примерно так:

МуТаblе.AppendRecord([2345, 'New customer', '+7(812)4569012', 0, '']);

После вызова этих методов и их завершения набор данных автоматически возвращается в состояние просмотра.

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

procedure SetFields(const Values: array of const);

Текущая запись удаляется методом:

procedure Delete;

При этом набор данных не выдает никаких предупреждений, а просто делает это.

Очистить содержимое всех полей текущей записи может метод:

procedure ClearFields;

Обратите внимание, что поля становятся пустыми (NULL), а не сбрасываются в нулевое значение.

О том, редактировалась ли текущая запись, сообщает свойство:

property Modified: Boolean;

Если оно имеет значение True.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.