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