Вниз
Скачать: CL | DM;

Как отобразить в DBGrid результаты нескольких запросов.   Найти похожие ветки 

← →
Dron   (2004-02-04 13:22) [0]

Здравствуйте. Тема такая - у меня есть в Interbase хранимая процедура - 3 входных и с десяток выходных параметров. В моей программе в цикле задаются эти входные параметры. Нужно, чтобы результаты запросов отобразились один под другим в DBGrid"e, т.е. мне как-то надо сохранить результаты предыдущих запросов в Dataset"e. Как это сделать? Cпасибо.


← →
Johnmen ©   (2004-02-04 13:37) [1]

Сразу всё:
SELECT * FROM MyProcedure(<первый комплект трёх параметров>)
UNION ALL
SELECT * FROM MyProcedure(<второй комплект трёх параметров>)
UNION ALL
.........
SELECT * FROM MyProcedure(<N-ый комплект трёх параметров>)


← →
Dron   (2004-02-04 14:00) [2]

Пробовал, но такой вариант не проходит. Загвоздка в том, что я не знаю какое кол-во комплектов входных параметров будет, поэтому не могу записать это в одном запросе. В моем случае должен быть цикл.
Вот фрагмент хранимой процедуры (не полный текст)

begin
select
trunk_names.descr,
max(trunk_data.avlb_o),
// и т.д и т.п
from trunk_names
where //----//
into
:trunkname,
//--//
:occ_i;
suspend;
select
trunk_names.descr,
max(trunk_data.avlb_o),
// и т.д и т.п
from trunk_names
where //----//
into
:trunkname,
//--//
:occ_i;
suspend;
end;

А вот так я её вызываю из Delphi

with Form1.IB_form17 do
begin
Close;
Sql.Clear;
SQL.Add("select * from FORM17_OTCHET(:par1,:par2,:par2)");
ParamByName("par1").AsString := //---// ;
ParamByName("par2").AsDateTime := //---// ;
ParamByName("par3").AsDateTime := //---//;
Open;
end;

И этот вызов помещается в цикл.
В итоге мне нужно получить один DataSet в котором будут результаты этих запросов. Какие могут быть предложения.


← →
HSolo ©   (2004-02-04 14:22) [3]

Загружайте результаты запросов в какой-нибудь DataSet в памяти. Например, ClientDataSet, или какой-нибудь RxMemoryData


← →
Johnmen ©   (2004-02-04 14:29) [4]

Формируй текст запроса динамически.
1. Имена параметров тоже формируются динамически &
опять же в цикле(или как там у тебя)определяй значения
параметров.
2. Без параметров, всё чистым текстом, в цикле...:)


← →
Соловьев ©   (2004-02-04 14:45) [5]

FB?
С массивами в FB не работал, но может передать массив параметров, а в ХП их отработать?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-93928
ser_ega
2004-02-15 00:36
2004.02.29
Ярлык


14-94170
Sulimxar
2004-02-07 00:49
2004.02.29
По ту сторону закона:)


1-93900
Cardinal
2004-02-15 14:51
2004.02.29
Как писать в шеснадцатеричный файл??


14-94143
heady
2004-02-02 20:40
2004.02.29
Delphi 7 Help


3-93754
Fom
2004-02-04 16:45
2004.02.29
Как посчитать количество страниц в QReport?




   Наверх