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

Проблемы с DBExpress   Найти похожие ветки 

← →
Саша   (2003-11-26 12:25) [0]

Нужно выполнить хранимую процедуру MSSQL и получить output параметры или result через TSQLQuery. Код примерно такой:

Fq.SQL.Add("Declare @Res int")
Fq.SQL.Add("exec @Res=<Имя процедуры> <Параметры>")
Fq.SQL.Add("Select @Res");
Fq.SQL.Open

Получается ошибка: Запрос не возвращает курсор

С этим можно что-нибудь сделать? :(


← →
Sandman25 ©   (2003-11-26 12:30) [1]

А через TSQLStoredProc и параметры не пробовали?


← →
Саша   (2003-11-26 12:41) [2]

Надо так


← →
Sandman25 ©   (2003-11-26 12:46) [3]

Тогда Fq.ExecSQL. Ведь Запрос не возвращает курсор


← →
Саша   (2003-11-26 12:55) [4]

А как тогда получить значение параметра?


← →
Sandman25 ©   (2003-11-26 12:57) [5]

Params[0].ParamType := ptOutput; //ptInOut;
ExecSQL;
Caption := Params[0].AsString;


← →
Саша   (2003-11-26 13:01) [6]

Спасибо, сейчас попробую сделать так


← →
Shirson ©   (2003-11-26 13:57) [7]

Что мешает сделать так?:

Fq.SQL.text:="exec <Имя процедуры> <Параметры>";
Fq.SQL.Open


← →
SergSuper   (2003-11-26 14:33) [8]

Надо в процедуре где-то в начале поставить set count on.
А вобще лучше делать через TSQLStoredProc , "надо так" - не аргумент


← →
Саша   (2003-11-26 14:42) [9]

Это я пробовала, получается то же самое.

Кстати, иногда помогает, если сделать вместо


select @res,0

select @res,0

но не всегда


← →
Саша   (2003-11-26 14:43) [10]

то есть вместо

select @res
select @res,0


← →
Nikky ©   (2003-11-26 16:27) [11]

select res = @res


← →
Саша   (2003-11-28 13:23) [12]

Помогло set nocount on в начале хранимой процедуры



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.012 c
1-75164
yaric
2003-12-09 16:22
2003.12.23
Проблема с DevExpress


3-75092
digester
2003-11-30 13:09
2003.12.23
ПОМОГИТЕ Пожалуйста с IBQUERY


1-75220
DRONE_
2003-12-10 22:06
2003.12.23
Чтение из exe-файла программы.


11-75134
Юрий
2003-04-08 19:06
2003.12.23
Модальная форма


4-75458
mio
2003-10-28 18:12
2003.12.23
Разделение




   Наверх