Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизTADOStoredProc и возвращаемые значения Найти похожие ветки
← →
AndDem (2003-10-08 11:47) [0]ЕСТЬ:
1. Хранимая процедура в базе:
CREATE PROCEDURE GetUser
@NAME VARCHAR(50) OUTPUT
AS
SET @NAME=user_name()
2. КомпонентTADOStoredProc
ВОПРОС:
Как (насколько понимаю, черезParameters
этого компонента) получить выходной параметр (@name
) после выполнения процедуры?
Заранее спасибо!
← →
ZrenBy (2003-10-08 12:39) [1]ADOSP.Parameters.ParamValues["@O_VALUE"]
← →
Fiend (2003-10-08 12:39) [2]Правильно понимаешь, сначала выполни процедуру потом получишь параметр. Тока когда определишь параметры не забудь удостовериться, что параметр @name имеет Direction=ptOutput
← →
AndDem (2003-10-08 12:49) [3]Теоретически понятно, но практически что-то не получается...
Код:
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"
← →
AndDem (2003-10-08 12:51) [4]Оказывается надо было добавить
sp.Parameters[0].Direction:=pdOutput;
Всё заработало. Спасибо всем!
← →
Fiend (2003-10-08 13:07) [5]То AndDem :
Ну ты даёшь, я же написал шо это надо!
← →
AndDem (2003-10-08 13:12) [6]Дык, я не сразу просёк... Подтормаживаю :-))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c