Вниз
Скачать: 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.018 c
14-94186
xMan
2004-02-06 22:17
2004.02.29
Подскажите


14-94112
Vuk
2004-02-09 16:48
2004.02.29
Нашел интересный сервис в сети.


1-94026
tipman
2004-02-16 09:24
2004.02.29
Передача динамическиго массива в процедуру....


1-93943
Прямой
2004-02-18 05:22
2004.02.29
Какую библиотеку надо TClientSocket


14-94132
Думкин
2004-02-09 06:30
2004.02.29
С днем рождения! 9 февраля.




   Наверх