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

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

Параметры запроса [D6, IB4.x]


TL ©   (2004-09-03 08:59:00) 

Здравствуйте! Пожалуйста, помогите новичку!
Суть проблемы такова:
Есть процедура IB :
CREATE PROCEDURE PROC_GRAPH (
   MES CHAR(3),
   SALE CHAR(3),
   DB DATE,
   DE DATE,
   CUR CHAR(4),
   FL CHAR(50) CHARACTER SET WIN1251)
RETURNS (
   MN INTEGER,
   COUN INTEGER,
   SUMM NUMERIC(15,2))
AS
begin
if ((:cur is not null) and (:fl is not null)) then
   begin
       if ((:mes = 'Y') and (:sale='Y')) then
           begin
               for select mes_wilet, count(num_ticket), sum(far)
               from view_month_z
               where (dvilet_ch between :db and :de) and
               (curr = :cur) and ((num_reis = :fl))
               group by mes_wilet
               into  :mn,  :coun, :summ
               do suspend;
           end
        else
Необходимо, передать в параметр :Fl не только один параметр ( (curr = 'Руб') and ((num_reis = '730')),
но и список параметров:
(curr = 'Руб') and ((num_reis = '730') or (num_reis = '729')or (num_reis = '5901'))
Передаю список вот так:
Есть ListBox в котором находятся эти параметры,которых хочу передать в процедуру:
st:= form2.ListBox2.Items[0]+''''+')'+'''';
perem:=form2.ListBox2.Count-1;
for i := 1 to perem do
begin
if i<> perem then  
st:= st+ ''''+'or'+''''+ ''''+'('+''''+ ''''+'num_reis='+''''+form2.ListBox2.Items[i]+')'
else st:=st+ ''''+'or'+''''+ '('+''''+'num_reis='+''''+form2.ListBox2.Items[i];
end;
report.IBQuery1.ParamByName('fl').value := st;

Потом в Query обращаюсь к этой процедуре :
select * from PROC_GRAPH (:MES, :SALE, :DB, :DE,:CUR,:FL)

Но в результате ничего не получается. Подскажите как все сделать верно.


stud   (2004-09-03 10:44:00) [1]

for select id from add_balans where
   :P containing id into :I do suspend;
не знаю как в иб4, но у меня в фб1,5 такая конструкция работает


TL   (2004-09-03 09:38:00) [2]

из view_month_z (представление) . Откуда представление ? Из таблиц...


stud   (2004-09-03 09:33:00) [3]

а откуда они взялись?


TL   (2004-09-03 09:22:00) [4]

num_reis - №рейса
curr - Валюта (Руб, Дол...)


stud   (2004-09-03 09:17:00) [5]


> num_reis, curr

это что такое?


Наверх

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