Компонент TSimpleDataSet
Данные между сервером и компонентом пересылаются пакетами. Доступ к текущему пакету возможен при помощи свойства:
property Data: OleVariant;
Сделанные изменения содержатся в свойстве:
property Delta: OleVariant;
При этом разработчик может регулировать размер пакетов. Например, при ухудшении соединения можно уменьшить размер пакетов. Размер пакета определяется свойством:
property PacketRecords: Integer;
…которое задает число записей в пакете. Автоматическое назначение пакетов включается:
PacketRecords: = -1
Если значение PacketRecords равно 0, между клиентом и сервером пересылаются только метаданные.
Если свойство PacketRecords больше нуля, то необходимо вручную организовывать подкачку данных с сервера. Для этого используется метод:
function GetNextPacket: Integer;
Для организации такой подкачки вполне подойдут методы-обработчики событий:
property BeforeGetRecords: TRemoteEvent; property AfterGetRecords: TRemoteEvent;
В компоненте TSimpleDataSet развиты средства работы с одиночными записями. Можно просмотреть общее число записей:
property RecordCount: Integer;
…и номер текущей записи:
property RecNo: Integer;
Размер одной записи сохраняется в свойстве:
property RecordSize: Word;
Все изменения, сделанные в текущей записи, отменяются методом:
procedure RevertRecord;
Обновить значение полей для текущей записи с сервера можно методом:
procedure RefreshRecord;
Обработка исключительных ситуаций для компонента TSimpleDataSet состоит из двух этапов.
Во-первых, необходимо отслеживать ошибки на стороне клиента – это могут быть некорректный ввод данных, ошибки кэширования и т. д. В этом случае подходят все стандартные способы, применяемые для наборов данных.
Во-вторых, ошибки могут возникнуть при сохранении изменений на сервере. И поскольку само событие, приведшее к исключительной ситуации, возникает на другом компьютере или в другом процессе, для отслеживания таких ошибок используется специальный метод-обработчик:
TReconcileErrorEvent = procedure(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction) of object; property OnReconcileError: TReconcileErrorEvent;
…который срабатывает, если с сервера пересылается сообщение об ошибке. Информация об ошибке находится в параметре E: EReconcileError.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Более детальная информация о клиентских наборах данных содержится в гл. 22.