Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Вниз

Параметры в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
1-82205
Dark Elf
2003-09-12 14:19
2003.09.25
Чтение текстового файла


1-82298
Pomashok
2003-09-14 17:32
2003.09.25
Перекодировка


1-82303
badis
2003-09-14 12:33
2003.09.25
Установка даты


6-82352
Кодер
2003-07-27 21:46
2003.09.25
Потоки, потоки и еще раз потоки


3-82108
P0tia
2003-09-04 16:48
2003.09.25
Как узнать номер последней непустой ячейки в EXCEL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский