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

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

TADOStoredProc и возвращаемые значения [D6, MSSQL]


AndDem ©   (2003-10-08 11:47:00) 

ЕСТЬ:
1. Хранимая процедура в базе:

CREATE PROCEDURE GetUser
@NAME VARCHAR(50) OUTPUT
AS
SET @NAME=user_name()

2. Компонент TADOStoredProc
ВОПРОС:
Как (насколько понимаю, через Parametersэтого компонента) получить выходной параметр ( @name) после выполнения процедуры?
Заранее спасибо!


AndDem   (2003-10-08 13:12:00) [1]

Дык, я не сразу просёк... Подтормаживаю :-))


Fiend   (2003-10-08 13:07:00) [2]

То AndDem :
Ну ты даёшь, я же написал шо это надо!


AndDem   (2003-10-08 12:51:00) [3]

Оказывается надо было добавить sp.Parameters[0].Direction:=pdOutput;
Всё заработало. Спасибо всем!


AndDem   (2003-10-08 12:49:00) [4]

Теоретически понятно, но практически что-то не получается...
Код:

sp.ProcedureName := "GetUser";
sp.Parameters.AddParameter;
sp.Parameters[0].Value := "OUTPUT";
try
sp.ExecProc
except
MessageDlg("Error...",mtError,[mbOk],0);
exit
end;
MessageDlg(sp.Parameters[0].Value,mtInformation,[mbOk],0);

И почему-то выдает "OUTPUT", а не, например, "dbo"


ZrenBy   (2003-10-08 12:39:00) [5]

ADOSP.Parameters.ParamValues["@O_VALUE"]


Fiend   (2003-10-08 12:39:00) [6]

Правильно понимаешь, сначала выполни процедуру потом получишь параметр. Тока когда определишь параметры не забудь удостовериться, что параметр @name имеет Direction=ptOutput


Наверх

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