![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 года.