Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизПроблемы с 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 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c