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

Параметры в StoredProc   Найти похожие ветки 

← →
Akni ©   (2003-09-03 14:45) [0]

Ув. Мастера, помогите разобраться с описанием параметров для хранимой процедуры.

Ситуация такая:
на сервере есть процедура, описана так:

procedure StatPr(in UserId integer,in StartDate DATETIME,in EndDate DATETIME)
result(Kind integer,Count numeric(10,2))

Процедура работающая, на выходе получается табличка с двумя полями: Kind,Count

В приложении пытаюсь вызвать ее таким образом:
with StoredProc1 do
begin
StoredProcName:="StatPr";
for i:=0 to 2 do //присвоить значение IN-параметрам
Params[i].AsString:=ParArray[i];
Prepare;
ExecProc; //здесь ошибка
GetResults;
end;

В итоге получаю сообщение об ошибке, что не все параметры переданы.

Как мне корректно передать и получить параметры для процедуры такого вида?


← →
Nikolay M. ©   (2003-09-03 14:51) [1]

1) Типы параметров StoredProc1 в дизайне правильно описаны?
2) Попробуй не Params[i].AsString, а Params[1(2)].AsDateTime :=
3) В каком-нибудь SQL Explorer или наподобие него запрос
SELECT * FROM StatPr (1, "1.1.2001", "2.2.2002") (или как правильно в Sybase) нормально проходит?


← →
Akni ©   (2003-09-03 15:07) [2]

1. Что понимается под "в дизайне"?
Если в Object Inspector, то там все нормально - и DataType, и ParamType
2. явное задание типа параметров
Params[0].AsInteger:=StrToInt(ParArray[0]);
Params[1].AsDateTime:=strtodatetime("02.07.2003");
Params[2].AsDateTime:=strtodatetime("03.07.2003");


результатов не дало. Все равно ругается на неправильное кол-во параметров. Причем именно на кол-во, а не на формат или еще что-то.

3. call StatPr("1", "2003-07-01", "2003-07-04") в Sybase выполняется без проблем.
(Когда передаю дату из Delphi в Sybase как string, то именно в формате yyyy-mm-dd. Она так в Sybase хранится)


← →
Nikolay M. ©   (2003-09-03 15:59) [3]

Досадно :(

Может, где-то хочет указания выходных параметров Kind integer,Count numeric(10,2)?


← →
Akni ©   (2003-09-03 16:12) [4]

все, уже разобралась.
при выборе в Object Inspector имени процедуры Delphi автоматически сформировал список параметров, включив туда и входящие, и выходящие. Удаление из этого списка двух "лишних" параметров Kind,Count (или динам. задание имени процедуры и динам. формирование списка парам. в run-time) решило все мои проблемы.


← →
Nikolay M. ©   (2003-09-03 16:15) [5]

Собственно, так и предположил...



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

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



Память: 0.46 MB
Время: 0.013 c
4-82551
Goblinus
2003-07-23 02:05
2003.09.25
Получить стандартные шрифты...


14-82407
Nikky
2003-09-09 09:44
2003.09.25
Новая волна


7-82511
Андрей_П
2003-07-14 17:50
2003.09.25
CD-ROM


3-82061
Belkova
2003-09-02 17:19
2003.09.25
IBSQL


3-82094
Фикус
2003-09-04 14:56
2003.09.25
dbf -> interbase




   Наверх