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

Вниз

LocalSQL and TQuery   Найти похожие ветки 

 
stoper   (2003-10-07 12:05) [0]

Беда вот в чем, есть запрос
select a.a,sum(a.summa) as sum1,a.data,sum(a.nacinka) as nac,b.shtrih,b.kartka,b.name"+
from document a,os b
where (a.a=b.shtrih) and (a.data>=:a0 and a.data<=:a1) and b.kartka=:a2
group by a.data,b.shtrih,b.kartka,b.name,a.a
order by a.data
Бывает так что при определенном значенни параметра а2 набор будет пустой.В этом случае BDE выдает Translate error.Value out of bonds. А при query1.open прога продолжает работать, мало того
Query1.recordcount=1.Может кто че подскажет как это побороть.За ранее благодарю


 
Johnmen ©   (2003-10-07 12:19) [1]

Где выдает ? В какой момент ? При каком значении ?


 
stoper   (2003-10-07 12:23) [2]

Когда делаю Query1.open ошибка не выскакивает.Выскакивает когда я хочу работать с этим набором.Например поместил грид на форму выскочила, убрал нет . Попробывал этот же запрос в BDE там она сразу выползает


 
Val ©   (2003-10-07 12:30) [3]

как мне помнится, у dbf такая гадость вылазит, когда возвращается запись с nullable датой...по крайней мере что-то связанное именно с дата = null.


 
stoper   (2003-10-07 12:43) [4]

На самом деле записей отвечающим условий может и не быть,но тогда должно быть query1.recordcount=0 а не 1.Блин как быть.


 
Val ©   (2003-10-07 12:47) [5]

>stoper (07.10.03 12:43) [4]
протестируйте, относится ли это именно к датам, уберите их из выборки, д.б. все в порядке, тогда проблема именно в них.


 
stoper   (2003-10-07 12:54) [6]

Val так без дат никак нельзя мне ж выборка за период нужна.


 
Val ©   (2003-10-07 12:56) [7]

я советую проверить свою версию, если она подтвердится, тогда уже нужно будет думать, что делать с датами.


 
stoper   (2003-10-07 13:07) [8]

Дело не в дате , а в конкретном периоде, например значения параметра а2 нет в этом периоде, вот и имеем ошибку ,а в другом все нормально.


 
Val ©   (2003-10-07 13:13) [9]

>stoper (07.10.03 13:07) [8]
как знаете...
если запрос не удовлетворяет условиям - он не должен ничего возвратить и все, у вас же - явная кака. Это, по вашему, нормально и дело в параметрах??


 
Johnmen ©   (2003-10-07 13:15) [10]

>b.kartka=:a2

Каковы все же типы ? И значения в обоих случаях ?


 
Val ©   (2003-10-07 13:21) [11]

>Johnmen © (07.10.03 13:15) [10]
если у него при наличии записей, удовлетворяющих условиям запрос отрабатывает нормально - то с типами параметров проблем быть не должно, думаю. Скорее, дело именно в преобразовании бде пустых значений возвращенного НД.


 
stoper   (2003-10-07 13:23) [12]

Val, так и я о том же.Я же не говорил о параметрах, наверное меня не правильно поняли. Я говорю о том что я хочу что бы запрос мне ничего не возратил,как он у меня это делает на MySQL,
но беда в том что я вынужден работать с dbf-никами.А вот здесь у меня действительно кака.Думаю это особености BDE.Прийдется ити другим путем.


 
MsGuns ©   (2003-10-07 13:29) [13]

Агрегатный запрос возвратит одну запись (на то он и агрегатный) даже если условиям запроса не удовлетворила ни одна запись. Надо переделать запрос (на встроенные селекты) или после открытия проверять на пустоту какого-то не нулевого поля (одного из перечисленных в GROUP BY) и если но пустое, реакция как на пустой.


 
Val ©   (2003-10-07 13:34) [14]

>stoper (07.10.03 13:23) [12]
MsGuns © (07.10.03 13:29) [13]
вот она, умная мысль! прислушайтесь.
Кстати, когда сталкивался с подобной проблемой - на таблицах парадокса запрос отрабатывал без ошибок, возвращал себе пустую запись и не матерился как dbf, кажется.


 
Johnmen ©   (2003-10-07 14:02) [15]

>MsGuns © (07.10.03 13:29) [13]
>Агрегатный запрос возвратит одну запись ...

Если это так, то это фича дибейса, фокса, а м.б и бедее...
:)


 
stoper   (2003-10-07 14:17) [16]

MsGuns © (07.10.03 13:29) [13] Большое спасибо за подсказку. Все работает.



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

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

Наверх




Память: 0.5 MB
Время: 0.031 c
14-89487
lancelot
2003-10-09 00:14
2003.10.27
Маленькие наши радости :)


1-89224
Yuraz
2003-10-15 10:59
2003.10.27
Как запустить процесс ровно на 10 сек


3-89185
Empleado
2003-09-30 16:26
2003.10.27
Q: lookup in ADODataSet (SQL2000)


14-89576
[lamer]Barmaglot
2003-10-02 11:24
2003.10.27
Как насчет результатов конкурса?


3-89114
kaif
2003-10-07 18:01
2003.10.27
Зацените дурацкое решение