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

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

Есть ли в SQL возможность не указывать имена полей? [D6, WinME]


SergP ©   (2004-12-14 22:06:00) 

БД Access

Вобщем ситуация такова: В запросах SELECT нужно как-нить не "привязываться" к именам полей. есть ли такая возможность?

Например есть запрос:
select sum(f1),sum(f2),sum(f3),sum(f4),sum(f5),sum(f6),sum(f7),sum(f8)...
from table where ...

Есть ли возможности:
1). Не указывать явно имена полей, а использовать порядковый номер поля?
2). Можно ли упростить текст запроса если учесть что например мне нужны суммы по полям с номерами от 2 до 25? Т.е. нет ли возможности указания диапазона номеров полей?


anatolyk   (2004-12-15 10:58:00) [1]

Можно попробовать через Ado:
посмотри, что получится:
for i:=0 to ADOQuery1.FieldsCount-1 do
 showmessage(ADOQUERY1.Fields[i].DisplayName);
всегда можно работать и через Fields[i](поля по порядку) и через DisplayName (поля по именам). в твоем случае можно узнать имена полей через DisplayName и сформировать по ним запрос, типа
...
AdoQuery1.SQL.Add('Select');
for i:=0 to ADOTable1.FieldsCount-1 do begin
 if (i<(ADOTable1.FieldsCount-1)) and (i>0) then ADOQuery1.SQL.Add(',');
 AdoQuery1.SQL.Add(AdoTable1.Fields[i].DisplayName); // только здесь имя поля лучше заключить в квадратные скобки, или кавычки
end;
AdoQuery1.SQL.Add('from Source');


Zacho   (2004-12-14 22:26:00) [2]

Нет.


Наверх

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