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

Вниз

выполнение запросов?   Найти похожие ветки 

 
stud ©   (2004-03-29 18:24) [0]

выполняю запрос в ибэксперте в редакторе - все работает.
выполняю этот же запрос из процедуры - пустой набор.


 
Desdechado ©   (2004-03-29 18:25) [1]

в чем вопрос?
где текст запроса и процедуры?


 
Johnmen ©   (2004-03-29 18:27) [2]

Точка с запятой пропущена в 17 строке...


 
stud ©   (2004-03-29 18:30) [3]

for select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
   where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
   into :ID_,:DATUSL,:T_KODU,:CENA do suspend
возвращает пустой набор

select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
   where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
этот запрос в редакторе возвращает "нормальный" набор

при выполнении этой же процедуры из приложения выдается набор, но при некоторых значениях kp выдает ошибку :
multiple row in singleton select
kp - это уникальный ключ для выбора плательщика.
что это может быть???


 
stud ©   (2004-03-29 18:30) [4]


> Johnmen ©   (29.03.04 18:27) [2]

не исключено))
хотя до сих пор работало


 
Johnmen ©   (2004-03-29 18:35) [5]

>возвращает пустой набор

Как это видно ?

>выдает ошибку : multiple row in singleton select

Ты продолжаешь утаивать исходную инфу...
:)


 
Desdechado ©   (2004-03-29 18:37) [6]

1. не вижу процедуры
2. multiple rows при for select невозможны (если подзапросов внутри нет)


 
stud ©   (2004-03-29 18:41) [7]

вся процедура такая

begin
 t_id=0;
 for select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
   where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
   into :ID_,:DATUSL,:T_KODU,:CENA
     do
     begin
       select uslugi_spr.naim from uslugi_spr where uslugi_spr.kod=:T_KODU into :USLUGA;
       if (t_id<>id_) then
       select obr_usl.id,obr_usl.data_obr from obr_usl where obr_usl.r_nom=:id_ into :T_OBR,:DATAOBR;
       if (t_id<>id_) then
       select pacient.id,pacient.family||" "||pacient.name||" "||pacient.otch,pacient.data_r from pacient
              where pacient.id=:T_OBR
              into :KODPAC,:FIOPAC,:PACDATAR;
       if (t_id<>id_) then
       select polis.nom,polis.end_dat from polis where polis.kod_pac=:KODPAC and polis.kod_plat=:KP
              into :POLNOM,:POLEND;
       suspend;
       t_id=id_;
     end
end


 
Johnmen ©   (2004-03-29 18:50) [8]

>stud ©   (29.03.04 18:41) [7]

Все селекты в цикле - полноценные претенденты на multiple row in singleton select.


 
stud ©   (2004-03-29 18:51) [9]

спасибо разобрался


 
stud ©   (2004-03-29 18:51) [10]

нет только один.)))



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
3-1080635505
Igoryok
2004-03-30 12:31
2004.04.25
MySQL база или как получить доступ


14-1080937601
Knight
2004-04-03 00:26
2004.04.25
А можно из самой программы узнать сколько памяти она занимает?


11-1064308389
Vadim S
2003-09-23 13:13
2004.04.25
Директива {$WARN SYMBOL_PLATFORM OFF} (KOLSysUtils.pas)


11-1063785981
<Falcon>
2003-09-17 12:06
2004.04.25
Текст в несколько строк в mdvXLGrid - КАК?


1-1081521674
denis_group
2004-04-09 18:41
2004.04.25
Проблема с определением HDD (GetDriveType)