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

Вниз

ClienDataSet в InterBase   Найти похожие ветки 

 
ruslan_as ©   (2002-04-02 18:08) [0]

Есть ClienDataSet и таблица InterBase. Нужно перегнать записи из
ClienDataSet в InterBase. Ести я делаю следующим кодом получается долго. Подскажите как быстрее.

while not DM.clTovar.Eof do
begin
DM.IBTTovar.Append;
DM.IBTTovar.FieldByName("KOD").Value:=DM.clTovar.FieldByName("KOD").AsString;
DM.IBTTovar.FieldByName("N_TOV").Value:=DM.clTovar.FieldByName("N_TOV").AsString;
DM.IBTTovar.Post;
DM.clTovar.Next;
end;


 
alexandervasjuk ©   (2002-04-02 19:47) [1]

Есть один способ. Это будет очень быстро. Но вряд ли ты захочешь возиться.
1) Сохраняем CDS как XML.
2) Пишем XSL трансформацию, чтоб на входе был наш XML, на выходе - данные с фиксированной длинной поля без всяких разделителей и возвратоы каретки
3) В базе создаем внешнюю таблицу на получившийся файл данных со строковыми полями соответствующей ширины
4) Запросом вставляем из нее данные в конечную таблицу


 
Deniz ©   (2002-04-03 08:03) [2]


TmpIBQuery.SQL.CLear;
TmpIBQuery.SQL.Add("insert into TableName(KOD, N_TOV)");
TmpIBQuery.SQL.Add("values(:vKod, :vN_Tov)");
TmpIBQuery.Prepare;
while not DM.clTovar.Eof do begin
TmpIBQuery.ParamByName("vKod").AsString:=DM.clTovar.FieldByName("KOD").AsString;
TmpIBQuery.ParamByName("vKod").AsString:=DM.clTovar.FieldByName("N_TOV").AsString;
TmpIBQuery.ExecSQL;
end;

Должно быть быстрее.


 
Deniz ©   (2002-04-03 08:17) [3]

Опечатка вышла:
...
TmpIBQuery.ParamByName( "vN_TOV").AsString:=DM.clTovar.FieldByName("N_TOV").AsString;
...


 
ruslan_as ©   (2002-04-03 12:20) [4]

Спасибо ребята! Работает.
>alexandervasjuk © Способ любопытный, потом разберусь...
>Deniz Действительно быстрее!



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
6-69963
Mustang
2002-02-07 00:09
2002.04.22
NMSMTP глючит?


1-69863
erw
2002-04-09 09:51
2002.04.22
Запуск дефолтного почтового клиента


3-69654
Hiks
2002-03-29 08:48
2002.04.22
---|Ветка была без названия|---


14-69998
Alx2
2002-03-15 07:57
2002.04.22
Merlin, с Днем Рождения!


14-70024
Феликс
2002-03-17 16:10
2002.04.22
Можно ли из определенной папки выкачать все файлы с опр. расширением?