Как я могу установить записи, измененные в delphi TClientDataset

Мне нужно изменить все записи, загруженные в TClientDataSet, для принудительного сохранения. Как я могу это сделать? Делфи ХЕ8


person Giorgio Forti    schedule 15.07.2015    source источник
comment
Добавьте новое логическое поле.   -  person Jerry Dodge    schedule 15.07.2015
comment
Интересный вопрос, +1. Будет интересно посмотреть, придумает ли кто-нибудь способ сделать это, за исключением преднамеренного изменения некоторого значения поля в каждой из строк набора данных, чего, я думаю, вы не хотите делать, иначе зачем спрашивать? Я не удивлюсь, если более хитрые методы споткнутся о внутреннюю уборку, которая делается для модификаций CDS.   -  person MartynA    schedule 15.07.2015
comment
Чего вы действительно хотите достичь? Сохранение неизмененных данных кажется здесь не реальной целью.   -  person Uwe Raabe    schedule 15.07.2015
comment
Я сделал вопрос кратким: мне нужно полностью скопировать таблицу из MS SQL в SQLite: я загружаю таблицу MSSQL в CDS, назначаю CDS.DATA второй CDS, подключенной к БД SQLite, но ... я не могу спасти! Я не могу добавлять поля, я не могу изменять значения ... вставка цикла, установка значений, публикация будет очень МЕДЛЕННОЙ ...   -  person Giorgio Forti    schedule 16.07.2015
comment
Вы не можете вообще избежать обработки/копирования компакт-дисков? tdatasetprovider обработает весь дельта-пакет построчно и в любом случае выдаст отдельную вставку для каждой другой записи.   -  person vavan    schedule 16.07.2015
comment
vavan, я ищу решение, конечно, я могу избежать CDS, пожалуйста, объясните использование TDataSetProvider!   -  person Giorgio Forti    schedule 16.07.2015
comment
Этот вопрос совершенно не ясен.   -  person user763539    schedule 16.07.2015


Ответы (1)


Ваша реальная проблема, похоже, заключается в том, «Как мне эффективно передавать данные из таблицы на MS SQL в SQLite? И, во-вторых, могу ли я использовать Delphi TClientDataset, чтобы сделать это эффективно без лишней суеты и беспокойства?»

Я бы хотел сказать, что TClientDataset на самом деле ничего не купит вам здесь и не будет быстрее, чем прямые вставки, так что вы можете пойти по этому пути, например. напишите немного кода для создания некоторых вставок для данных, которые вы хотите экспортировать.

Для больших объемов данных вам может понадобиться массовая загрузка. SQLite может импортировать CSV-файлы. немного кода для вывода ваших данных SQL в CSV (или экспорта непосредственно с сервера SQL.

person W.Prins    schedule 17.07.2015
comment
На данный момент я решил загрузку из MSSQL в запросе, зацикливая этот запрос и используя запрос на вставку для каждой записи. - person Giorgio Forti; 17.07.2015