Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Компонент редактирования набора данных

CuBook05

Для редактирования набора данных (получения данных, их кэширования и отправления измененных данных на сервер) предназначен компонент SQLClientDataSet. Этот компонент использует двунаправленный курсор и позволяет редактировать данные, но в режиме редактирования. Тем самым он исправляет основные недостатки рассматриваемой технологии. Для подготовки компонента SQLClientDataSet к работе с данными нужно с помощью свойства Connection связать его с компонентом соединения SQLConnection. В качестве альтернативы можно с помощью подсвойства ConnectionName свойства Connection задать тип соединения непосредственно. Произведенные над данными изменения размещаются в локальном кэше, в связи с этим для подтверждения изменений и отправки данных на сервер БД используют метод:
virtual int __fastcall ApplyUpdates(int MaxErrors);
Параметр MaxErrors определяет число ошибок, допустимых при передаче данных. Локальный кэш компонента после сохранения изменений на сервере можно очистить от данных с помощью метода:
bool __fastcall Reconcile(const System::OleVariant &Results);
Отмена локальных изменений данных может быть выполнена с помощью метода:
void __fastcall CancelUpdates(void);
Пересылка данных между сервером и компонентом SQLClientDataSet осуществляется с помощью пакетов. Размер пакета (по числу записей) можно задать с помощью свойства PacketRecords типа int. По умолчанию устанавливается значение -1, которое означает, что один пакет должен содержать все записи набора данных. Если значение свойства PacketRecords больше 0, то оно определяет число записей, которые можно получить в пакете от провайдера с помощью метода:
int __fastcall GetNextPacket(void);
Если значение свойства PacketRecords равно 0, то в пакете передаются только метаданные.
Свойство Datasize типа int устанавливает размер (в байтах) текущего пакета, доступного с помощью свойства Data типа OleVariant.
 
На общее число записей в источнике данных указывает свойство RecordCount типа int, номер текущей записи определяет свойство RecNo типа int. Изменения в текущей записи можно отменить с помощью метода:
void __fastcall RevertRecord(void);
Отменить последнюю операцию по изменению записи клиентского набора данных можно с помощью метода:
bool __fastcall UndoLastChange(bool FollowChange);
Здесь значение параметра определяет, где будет установлен курсор после восстановления записи: true - на восстановленной записи, false - на текущей записи. Обновить значение полей для текущей записи с сервера можно с помощью метода:
void __fastcall RefreshRecord(void);
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий