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

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

SQL запрос с разными условиями отбора.


JazY ©   (2005-12-18 21:10:00) 

Ситуация если кратко примерно такая. У меня есть большой SQL запрос, который работает с большим количеством таблиц. В запросе используется условие отбора. Примерно выглядит все так:

SELECT Модель, Материал
FROM Январь
WHERE № = '1'
UNION ALL
SELECT Модель, Материал
FROM Февраль
WHERE № = '1'
и.т.д.

Так вот! Значение № может меняться и находиться в edit1. Вопрос в том как запускать запрос с разными параметрами выборки. Вот в указанном примере выбриются те строки, где № равен 1. Но мне необходимо чтобы запрос выбирал значения указанные в edit1. У меня была такая идея! Есть файл, в нем SQL запрос. Этот файл загружается скажем в memo, затем в этом memo производится замена определенные слов, и затем уже измененный запрос попадает в ADOquery, который в свою очередь проводит выборку. Нутром понимаю, что способ корявый, но знания новичка пока не позволяют придумать ничего лучше. Может подскажите как разумней решить эту задачу?


Sergey13   (2005-12-19 09:39:00) [1]

2JazY   (18.12.05 21:10)
>FROM Январь
Переделай на
FROM "ВсеВремена"


jack128   (2005-12-19 00:55:00) [2]

Можно через параметры:

SELECT Модель, Материал
FROM Январь
WHERE № = :PARAM
UNION ALL
SELECT Модель, Материал
FROM Февраль
WHERE № = :PARAM

...
IbDataSet.ParamByName('PARAM').AsString := Edit1.Text;


YurikGL   (2005-12-18 22:52:00) [3]

Вариант 1

selectSQL:='SELECT Модель, Материал '+
'FROM Январь '+
'WHERE № = '+IntToStr(1)'+
' UNION ALL '....

Вариант 2
Использовать запрос с параметрами.


YurikGL   (2005-12-18 22:52:00) [4]

В IntToStr(1)

вместо 1-цы подставляешь нужную переменную...


Наверх

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