Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: 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 вся ветка

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-82176
Юрий Ж.
2003-09-12 22:23
2003.09.25
TrackBar?


14-82446
Karnegi.
2003-09-07 20:50
2003.09.25
Что изучают на профессии


7-82516
Alibaba
2003-07-01 12:00
2003.09.25
Word


4-82546
DelBoy
2003-07-22 22:46
2003.09.25
Получить Хендл предыдущего окна


6-82367
NetKnight
2003-07-19 23:46
2003.09.25
List в HTTP протоколе