Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

Как после вызова ХП обратиться к набору данных?   Найти похожие ветки 

 
garry79 ©   (2004-02-07 12:18) [0]

Приветствую всех мастеров! Вот такой вопрос у меня возник - хранимая процедура возвращает нужное мне значение (в соответствующем параметре), все нормально когда значение единственное по запросу, а если возвращает несколько, то ошибка.
Я конечно сделал обработчик искл. ситуаций, но хотелось бы получать набор, и считывать первую запись, а если записей несколько, то выдавать сообщение. Вот код, который у меня сейчас:
with Base1.Proc do
begin
Base1.Proc.StoredProcName := "Get_Tick_Type";
Prepare;
ParamByName("TTP_Date").Value:= TickDate;
ParamByName("TTP_Season_Num").Value:= Combo_Season.value;
ParamByName("TTP_Reis_Name").Value:= Label_Ticket_Reis_Name.value;
try
execProc;
except
ShowMessage("На данную дату приходится несколько периодов!");
end;
if not ParamByName("TTP_Type").isNull then
Result:= ParamByName("TTP_Type").asInteger;
end;

а вот так вот у меня не получилось:

Open;
First;
if RecordCount>1 then
ShowMessage("На данную дату приходится несколько периодов!");


 
Digitman ©   (2004-02-07 12:37) [1]

Open;
Last; //!!!!
if RecordCount>1 then
ShowMessage("На данную дату приходится несколько периодов!");


 
garry79 ©   (2004-02-08 10:26) [2]

Да чото не получается, на методе Open ругается -
"Error cursor handle", только execProc берет


 
KA_ ©   (2004-02-08 10:36) [3]

Попробуй вместо компонента StoredProc использовать обычный запрос типа
SELECT * FROM GET_TICK_TYPE(:PARAM1, :PARAM2, PARAM3)
А дальше как Digitman сказал.


 
garry79 ©   (2004-02-10 19:57) [4]

Нифига не получается, такой запрос почему-то не выдает ни одной записи, хотя ошибки тоже не выдает? Это в смысле не только в Дельфях, но и если реальный запрос в SQL Explorer"e прогнать, то то же самое. Может с форматом даты чото, хотя Дельфи TDateTime к Value должна автоматически привести, а в Эксплорере дату передавал как "17/02/2003" например, так же можно вроде...


 
Johnmen ©   (2004-02-10 22:53) [5]

ParamByName("TTP_Date").AsDateTime:= DateTimeVariable;
а в Эксплорере дату передавал как "17.02.2003" (скорее всего...)


 
Deniz ©   (2004-02-11 08:00) [6]

А что текст ХП секрет?
И вместо
ParamByName("").Value:=
писАть
ParamByName("").AsInteger AsString AsDate и т.д.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
3-25705
Belkova
2004-02-10 16:58
2004.03.09
Уважаемые мастера Delphi! Подскажите, как организовать цикл по вы


14-25917
chilavek
2004-02-15 20:55
2004.03.09
Украден и опубликован исходный код Windows NT 4 и Windows 2000


1-25766
Kraj
2004-02-26 15:40
2004.03.09
Преобразование Char в Word


14-25885
Andryk
2004-02-12 11:45
2004.03.09
Давайте еще раз пообсуждаем наш закон об ОСАГО


14-25930
Chupcan
2004-02-14 14:18
2004.03.09
Ос на Паскале?