![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавлять записи из одного TRxMemoryData в другой
DelphiLexx © (2006-08-08 11:01:00)Есть два TRxMemoryData, имеющий одинаковый набор полей.
Как кратко добавить записи из второго в первый TRxMemoryData.
Я делаю так (но мне кажется есть способ короче):
with mds2 do
begin
First;
while not Eof do
begin
mds1.Append;
mds1.FieldByName('Field1').AsString :=
FieldByName('Field1').AsString;
mds1.FieldByName('Field2').AsInteger :=
FieldByName('Field2').AsInteger;
mds1.FieldByName('Field3').AsString :=
FieldByName('Field3').AsString;
mds1.FieldByName('Field4').AsFloat :=
FieldByName('Field4').AsFloat;
mds1.FieldByName('Field5').AsFloat :=
FieldByName('Field5').AsFloat;
Next;
end;
end;
mds1.Post;
ORMADA (2006-08-08 11:31:00) [1]кстати ты сам себе противоречишь
>Есть два TRxMemoryData, имеющий одинаковый набор полей.
>Скажи пожалуйста, а способ с
"insert into таблица1 select * from таблица2"
не эфективнее ли?
ты видел возможность выполнять скуль над TRxMemoryData и получать результирующий датасет ?
я-нет!
есть конечно всякие sql mem table кот натравливаются на любые датасеты и позволяют использовать sql для выборки но думаю они врядли тебе нужны
:)
ORMADA (2006-08-08 11:13:00) [2]может ты изначально будешь правильно заполнять датасет ?
а не слеплять
ORMADA (2006-08-08 11:12:00) [3]в исходники Rx заглянуть не судьба ?
в частности как сделан LoadFromDataSet
DelphiLexx (2006-08-08 11:11:00) [4]
> тады
> попробуй
> lmAppend
Теперь правильно.
Скажи пожалуйста, а способ с
"insert into таблица1 select * from таблица2"
не эфективнее ли?
ORMADA (2006-08-08 11:10:00) [5]тады
попробуй
lmAppend
StriderMan (2006-08-08 11:10:00) [6]сделай процедуру типа
procedure DS2DS(ASrc, ADest: TDataSet);
var
i: integer
begin
for i := 0 to ASrc.FieldCount - 1 do
ADest.Fields[i].Value := ASrc.Fields[i].Value;
end;
ORMADA (2006-08-08 11:07:00) [7]2 alexeis
не гони!
используемый компонент 2 TRxMemoryData!
ORMADA (2006-08-08 11:06:00) [8]lmCopy также копирует стурктуру таблицы
DelphiLexx (2006-08-08 11:06:00) [9]
> mds1..LoadFromDataSet(Dataset, 0, lmCopy);
Он разве добавляет записи, мне кажется, что перезаписывает.
ORMADA (2006-08-08 11:05:00) [10]mds1..LoadFromDataSet(Dataset, 0, lmCopy);
alexeis (2006-08-08 11:05:00) [11]insert into таблица1 select * from таблица2