Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Добавление данных в TClientDataSet из другого DataSet.   Найти похожие ветки 

 
Alex9801   (2003-02-25 14:58) [0]

Как в TClientDataSet добавить данные, находящиеся в другом DataSet такой же структуры?
ClientDataSet.Insert / InsertRecord частично решают задачу, но добавленные записи имеют статус usInserted и Provider сразу начнет их добавлять в базу, но это не нужно, т.к. они там уже есть. Т.е. Как в TClientDataSet добавить данные из другого DataSet, чтобы добавленные записи имели статус usUnmodified без физического их добавления в базу?


 
Clickmaker ©   (2003-02-25 16:03) [1]

вообще-то провайдер не должен добавлять их в базу, пока не скажешь ApplyUpdates, а до этого он просто кэширует их на клиенте (св-во Delta). И смысл добавления в CDS, если не добавлять потом их в базу ?


 
Alex9801   (2003-02-25 16:32) [2]

Придется объяснить еще раз.
Есть список товаров, которых хранится в некоторой таблице в БД и в ClientDataSet на клиенте. Когда юзер руками добавляет/изменяет/удаляет 1..n записей, а затем вызывает ApplyUpdates, то все работает нормально. Теперь нужно откопировать все товары из одной категории в другую. Причем не переместить, а скопировать.
Т.е. в результате выполнения некоторого запроса в таблицу будет добавлено энное количество записей. Это оформляется в виде отдельной хранимой процедуры, которая помимо добавления делает еще массу полезных вещей, а в конце возвращает добавленные записи в виде набора данных.
Вопрос: Как в ClientDataSet добавить записи из другого DataSet c одновременным сбосом для них статуса из usInserted в usUnmodified. Т.е. чтобы при вызове ApplyUpdates эти данные не добавлялись в БД, т.к. они там уже есть.



Страницы: 1 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-54305
Shaman
2003-03-01 10:52
2003.03.17
Так, навеяло


14-54232
Kranch
2003-02-27 23:41
2003.03.17
Hosting


9-53830
Kirushka
2002-10-16 17:47
2003.03.17
Delphi и OpenGL


1-54044
Gayrus
2003-03-04 03:45
2003.03.17
Error


1-54004
X3coder
2003-03-06 14:56
2003.03.17
Как событию присвоить действия?