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

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

Компонент Query [D7]


Не знающий ©   (2003-11-28 08:50:00) 

Есть 12 - ть таблиц. Их необходимо слить в одну таблицу.

Можно ли какнить поместить в компонент Query все 12 - ть таблиц, а затем компоненту Table присвоить все его содержимое. Если это возможно то как?


asp   (2003-11-28 09:42:00) [1]

Не знающий (28.11.03 09:31) [6]> Ты прочти. А потом вызывай, например:
TableGrounpBatchMove(Table1,
["SELECT Q1.FIELD1 FROM TABLE1 Q1",
"SELECT Q1.FIELD1 FROM TABLE2 Q2",
"SELECT Q1.FIELD1 FROM TABLE3 Q3"])

Повторюсь, в упрощенном варианте. Это всего лишь идея.


Не знающий   (2003-11-28 09:31:00) [2]

А че оно делает?


asp   (2003-11-28 09:19:00) [3]

Тогда, если так хочется, в упрощенном варианте:
procedure TableGrounpBatchMove(ATable: TTable;
const ASQL: array of string);
var
i: Integer;
q: TQuery;
begin
q:= TQuery.Create(nil)
try
q.DatabaseName:= ATable.DatabaseName;
for i:= Low(ASQL) to High(ASQL) do
begin
q.SQL.Text:= ASQL[i];
q.Open;
ATable.BatchMove(q, batAppend)
end
finally
q.Free
end
end;


Не знающий   (2003-11-28 09:10:00) [4]

Поночалу я делал так:
Table1.BatchMove(DataModule3.Query1,batAppend);
Table1.BatchMove(DataModule3.Query2,batAppend);
Table1.BatchMove(DataModule3.Query3,batAppend);
..........
У меня в каждом Query была своя таблица, но этих таблиц слишком много и компонентов Qyery придется ложить слишком много.
А как можно сделать тоже самое, но используя всего один компонент?


asp   (2003-11-28 09:03:00) [5]

Sergey13 © (28.11.03 08:58) [2]> Небольшое уточнение:
одинаковые по типу, либо есть возможность привести к таковым.


asp   (2003-11-28 08:58:00) [6]

SELECT T1.FIED1, T1.FIELD1
FROM TABLE1 T1
UNION ALL
SELECT T2.FIELD1, T2.FIELD2
FROM TABLE2 T2
и т.д и т.п.


Sergey13   (2003-11-28 08:58:00) [7]

>Можно ли какнить поместить в компонент Query все 12 - ть таблиц,
Можно. Прочитай про union. Если поля одинаковые конечно.

>а затем компоненту Table присвоить все его содержимое.
а зачем? Работай с тем самым query.


Наверх

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