![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL in Delphi [D7, XP]
Гена_88 © (2008-05-15 17:02:00)Помогите разобраться с SQL запросом в дельфи.
Делаю запрос :
SELECT COUNT (ID) cnt, ID FROM TABLE WHERE NAME = :N GROUP BY ID
передаю параметр N = 'asdasdasd'
Если такой записи нет, то он отображает в колонке "CNT" null а не 0.
Подскажите что не так?
Ega23 (2008-05-15 17:47:00) [1]TDataSet.IsEmpty
Гена_88 (2008-05-15 17:41:00) [2]Решение найдено, всем спасибо ... if Query.EOF then CNT := 0 :))))
clickmaker (2008-05-15 17:35:00) [3]FieldByname('CNT').IsNull ?
Гена_88 (2008-05-15 17:32:00) [4]Если записей нет, то должно возвратить "0" но не null т.к из дельфи обращаться не получается ...
Ega23 (2008-05-15 17:28:00) [5]
> Без Group by не работает ... "Invalid token"
Тебе какой результат запроса нужен?
Гена_88 (2008-05-15 17:26:00) [6]
> Попробуй убрать GROUP BY clause
Без Group by не работает ... "Invalid token"
Гена_88 (2008-05-15 17:24:00) [7]Да, RecordCount не выполняется .... Что делать помогите плиз :( домой уйти не могу ...
Сергей М. (2008-05-15 17:24:00) [8]
> Гена_88 (15.05.08 17:21) [5]
Попробуй убрать GROUP BY clause
Сергей М. (2008-05-15 17:22:00) [9]
> как определить, что значение null при получении поля путем
> FieldByname('CNT').AsInteger ?
Пнрежде чем этим озаботиться ты должен был убедиться в выполнении условия MyQuery.RecordCount > 0. Если это условие не выполняется (а оно и не выполняется), рассуждения в [3] лишены смысла.
Гена_88 (2008-05-15 17:21:00) [10]
> дело в гроуп бай - возвращает пустой набор, если записи
> нет
Помогите переписать запрос, плиз :(
Сергей М. (2008-05-15 17:19:00) [11]А еще точнее, этот null, что ты видишь, - есть скорее всего реакция конкретного просмотрщика, получившего результатом твоего запроса пустой наборданных.
Гена_88 (2008-05-15 17:18:00) [12]А как определить, что значение null при получении поля путем
FieldByname('CNT').AsInteger ??? Возвращает значение 484232 что то типа того ...
clickmaker (2008-05-15 17:17:00) [13]дело в гроуп бай - возвращает пустой набор, если записи нет
Сергей М. (2008-05-15 17:16:00) [14]Делфи здесь ни причем.
Для Парадокса (да и для большинства других распространенных СУБД) null-результат совершенно нормален.
А чем тебе он помешал ?
На клиентской стороне можно завести вычисляемое поле, в котором null менять на 0.