TClientDataset для редактирования таблицы с 100k + записей - PullRequest
0 голосов
/ 03 июля 2019

Клиент хочет создать приложение, похожее на электронную таблицу, для отображения данных из базы данных (предположительно, в TDbGrid или аналогичной системе), позволяющее осуществлять бесплатный поиск и редактирование всех ячеек, как это делается в рабочей таблице. Базовая таблица будет иметь более 100 тыс. Строк.

Проблема с использованием TClientDataset заключается в том, что он имеет тенденцию загружать все данные в память, нарушая реквизиты пользователя, а именно 3:

  1. Пользователь сможет перемещаться от первой к последней записи в любой момент, используя полосу прокрутки, клавиатуру или фильтр поиска (обратите внимание, что TClientDataset загрузит все записи, если вы перейдете к последней записи, AFAIK ...).

  2. Соединение будет осуществляться через внешний VPN / интернет (возможно, медленный), поэтому только должны быть загружены реальные видимые записи на экране. Никогда все .

  3. Выпуски должны храниться в транзакции , чтобы их можно было зафиксировать или откатить в конце, а при необходимости согласовать.

Можно ли выполнить эти 3 пункта, используя TClientDataset? Если нет, каковы альтернативы?

...