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