Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c