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

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

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


Ольга ©   (2006-10-26 14:29:00) 

В процедуре вычисляется куча значений. Как красиво передать их в программу?


evvcom   (2006-10-27 09:19:00) [1]

> [6] dr Gonzo ©   (26.10.06 18:18)
> ParamID - обеспечивает уникальность :)

А Var1, Var2, Var3 уже не обеспечивают? :)

> Через ОUT - не всегда удобно использовать в отчётах

Ну да. Не обратил внимания, что автор не делает даже намека, зачем ей эти данные.


dr Gonzo   (2006-10-26 18:18:00) [2]

2 evvcom ©

ParamID - обеспечивает уникальность :) Т.е привязка к значению идет как раз по ParamID.

SELECT Val1, Val2, Val3 - то же вариант.

Через ОUT - не всегда удобно использовать в отчётах.


evvcom   (2006-10-26 16:04:00) [3]

> [2] dr Gonzo ©   (26.10.06 14:43)

Если уж так, то UNION ALL надо использовать. А если не так, то чем тебе
SELECT Val1, Val2, Val3, ...
не понравилось? А раз уж речь идет о возвращаемых параметрах, то логичнее [3] сделать.


dr Gonzo   (2006-10-26 14:46:00) [4]

Еще как вариант -> походу вычислений этих значений просто выбивать их
SELECT @ParamValue1 AS  ParamValue1

Потом ловить в Delphi через NextRecordSet. хорош когда разнотипные значения возвращаются.


Stanislav   (2006-10-26 14:45:00) [5]

Ну или так
EXEC MYSP ... :PAR1 OUT, :PAR2 OUT
AdoQuery.execute;
A:=AdoQuery.Parameters[n].Value


dr Gonzo   (2006-10-26 14:43:00) [6]

Вернуть обычную таблицу:

SELECT 1                   AS ParamID,
          @ParamValue1 AS ParamValue
UNION  
SELECT 2                   AS ParamID,
          @ParamValue2 AS ParamValue
...

@ParamValue1, @ParamValue2 - рассчётные данные

Хорошо подходт для тех случаев, когда возвращаемые значения одного типа. Если нет, конвертить например в VarChar, что уже не так красиво.


stone   (2006-10-26 14:42:00) [7]

жирным шрифтом ;)


Наверх

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