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

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

ADO: из ФОКСА в ДБАЗЕ [D6, dBase, FoxPro]


Алексей ©   (2004-08-23 12:52:00) 

Имеется запрос из таблиц FOX`a вида (компонент qSour):
select a.pole1,a.pole2,b.pole3 from table1 a,table2 b
where a.pole1=b.pole

Также имеется таблица dBase вида (компонент tDest:
create table_dbase(
id_pole numeric(6,0),
opisanie character(20),
kol_vo numeric (6,0))

Сейчас просто перебираю строки запроса и запихиваю из в таблицу:

while not qSour.Eof do begin
  tDest.Insert;
  tDestid_pole.AsInteger=qSourpole1.AsInteger;
  ...
  tDest.Post;
  qSour.Next;
end;


Вопрос: а нельзя ли эту операцию сделать как нибудь одним махом, а не по одной записи?

P.S.
Вопросик в догонку:
В фоксе прекрасно работает запрос вида:
select .... from .... where .... into table temp_table
в дельфях приходится делать по одной записи, хотя и таблицы-источники и временная таблица - фоксовые.
Запрос insert .... values (select ....) также не проходит.


Алексей   (2004-08-24 17:49:00) [1]

Спасибо. С запросом на вставку разобрался. Поздним ночером, после пары пива :-)
Вот бы сделать такое же, но CardsArchives создан в dBase
а Cards в FOX`e


Некто   (2004-08-24 11:45:00) [2]

Нашел где-то:
INSERT INTO CardsArchives
  (Code, Move, Date)
   SELECT C_Code, C_Move, C_Date
   FROM Cards
   WHERE C_Date BETWEEN 1.1.98 AND 31.12.98

В таблицу CardArchives добавляется группа записей из таблицы Cards для записей сделанных в течение 1998 года.


Наверх

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