Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно сделать независимую копию датасета? [D7]


Inna_Z ©   (2006-03-29 16:39:00) 

Нужно сделать полную независимую копию датасета TClientDataSet.

 В исходном датасете есть вычисляеме поля, которые например, теряются при присваивании:
  Result.Data := DataSet.Data;

 И вообще данный способ не подходит.


Ega23   (2006-03-29 17:11:00) [1]


> А что-нибудь более оптимальное чтобы не перемещаться по
> датасету с которого я копирую?


var
SaveLocation:variant;
begin

With CDS do
 begin
   SaveLoc:=FieldByName('KeyField').Value;
   DisableControls;
   First;
   While not Eof do
    begin
     ......
     Nex;l
    end;
   Locate('KeyField', SaveLocation, []);
   EnableControls;
 end;


Inna_Z   (2006-03-29 17:00:00) [2]

А что-нибудь более оптимальное чтобы не перемещаться по датасету с которого я копирую?


Jeer   (2006-03-29 16:56:00) [3]

Было бы странно, если бы..

CreateDataset
*.FieldDefs.AddFieldDef
....

Затем по-рекордно read-insert


Наверх

Титульная страница Поиск, карта сайта Написать письмо