Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-89220
dubrovskiy
2003-10-14 16:51
2003.10.27
DLL в С++


7-89613
kost
2003-07-09 11:15
2003.10.27
BIOS


1-89219
Петрович
2003-10-15 12:25
2003.10.27
Как создаетя пауза, например между выполнением операторов


1-89342
ded_mazai
2003-10-16 13:48
2003.10.27
Express Quantum Tree List


1-89232
Alex_x
2003-10-15 10:14
2003.10.27
Как правильно виходить из приложения?




   Наверх