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

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

Вызов хранимой процедуры [D5, MSSQL]


Dimkin ©   (2002-08-23 17:29:00) 

Хочу чтобы хранимая процедура (см.рис 1), вызываемая из DELPHI приложения, одновременно вернула набор данных и выходные параметры (output). При использовании метода Open (класс TStoredProc) возвращается только набор данных, при использовании метода ExecProc вообще ничего не возвращается. Можно ли одновременно вернуть набор данных и выходные параметры? Если можно, то как?

CREATE PROCEDURE dbo.sp_Product( @Price money output)as
begin
Select @Price=sum(price) From ProductPrice

Select Price, Product from Product
end


Vlad2   (2002-08-24 07:38:00) [1]

Я так делал:
среда = mssql2000, delphi6, ado
На стороне клиента для sp: TADOStoredProc назначаются значения
парамеров и вызывается процедура:

sp.active := false;
sp.Parameters.Refresh;
sp.Parameters[1].Value := ...;
...
sp.Parameters[N].Value := ...;
sp.Active := true;

Теперь набор данных находится в sp.DataSource.DataSet.
А результат, возвращаемый параметром sp как output - это
значение sp.Parameters[K].Value.
Если нужено значение, возвращаемое sp как return value, то это
sp.Parameters[0].Value.


wicked   (2002-08-23 21:26:00) [2]

а на две процедуры не судьба разбить?...


elv   (2002-08-23 20:48:00) [3]

Нет.

P.S. Хотя я плотно не работал с MSSQL.


Dimkin   (2002-08-23 17:58:00) [4]

Не ври


SergSuper   (2002-08-23 17:36:00) [5]

нет


Наверх

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