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

Вниз

Как сохранить данные из ClientDataSet в некоторый файл   Найти похожие ветки 

 
x_x_x   (2004-02-11 13:40) [0]

про SaveToFile... известно, но двоичный файл или xml не интересует. Нужно сохранить локально ввиде таблицы БД (какой БД - не важно, важен сам принцип)?


 
asp ©   (2004-02-11 15:38) [1]

Всё бы на готовенькое... :)
Можно примерно так:

procedure CopyDataRecord(const Source, Dest: TDataSet);
var
i: Integer;
f: TField;
begin
for i:= 0 to Source.Fields.Count - 1 do
begin
f:= Dest.Fields.FindField(Source.Fiels[i].FieldName);
if Assigned(f) then
f.AsVariant:= Source.Fields[i].AsVariant
end
end;

procedure CopyData(const SourceClientDataSet: TClientDataSet;
const DestTable: TTable);
var
b: TBookMark;
begin
b:= SourceClientDataSet.GetBookMark;
try
SourceClientDataSet.DisableControls;
SourceClientDataSet.First;
while not(SourceClientDataSet.Eof) do
begin
DestTable.Append;
CopyDataRecord(SourceClientDataSet, DestTable);
DestTable.Post;
SourceClientDataSet.Next
end
finally
if SourceClientDataSet.BookMarkValid(b) then
begin
SourceClientDataSet.GotoBookMark(b);
SourceClientDataSet.FreeBookMark(b)
end;
SourceClientDataSet.EnableControls
end
end;

Затем создать таблицу like ClientDataSet & call CopyData (неужели и это писать?)...



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

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

Наверх




Память: 0.46 MB
Время: 0.029 c
1-25817
Maximus
2004-02-27 08:31
2004.03.09
Cемантический анализ текста


14-25896
Тимохов
2004-02-11 11:23
2004.03.09
Рихтер I


1-25728
joper
2004-02-27 10:19
2004.03.09
проверить ЭЦП


1-25776
чайник1
2004-02-26 12:45
2004.03.09
Передать переменную


3-25707
YuRock
2004-02-10 14:58
2004.03.09
ADO, DBase, индексы