C++Builder
Начало
Форум
Помощь
Войти
Регистрация
C++Builder
>
Forum
>
Вопросы программирования
>
Работа с базами данных в C++Builder
>
пустой возвращаемый набор в ADOQuery - как отловить?
Страниц: [
1
]
Вниз
Печать
Автор
Тема: пустой возвращаемый набор в ADOQuery - как отловить? (Прочитано 1266 раз)
forester
Участник
Сказали спасибо: +0/-0
Offline
Сообщений: 9
пустой возвращаемый набор в ADOQuery - как отловить?
«
:
19 Март 2015, 14:48:18 »
Добрый всем день!
пробую работать с MS access через ado.
есть простой запрос ADOQuery q
у него в SQL -
select Sum(f0) as rez_f0,
Sum(f2) as rez_f0
from tab1 t
where
t.code1 = :ptr_code1
and t.code2 = :ptr_code2
всё нормально работает, но в некоторых запросах нет выводимых данных - то есть rez_f0 и rez_f1 нулевые. и тогда происходит какя-то фигня - при попытке прочитать значения f0 или f1
float f = q->FieldByName("rez_f0")->Value
получаю could not convert variant type Null into type double
нарисовался такой вопрос - как бы отловить такие пустые наборы данных?
пробовал IsEmpty, RecordCount - не работает.
Записан
OVE
Участник
Сказали спасибо: +67/-0
Offline
Сообщений: 72
Re: пустой возвращаемый набор в ADOQuery - как отловить?
«
Ответ #1 :
19 Март 2015, 15:30:07 »
Код:
if(! q->FieldByName("rez_f0")->IsNull)
f= q->FieldByName("rez_f0")->Value
Записан
forester
Участник
Сказали спасибо: +0/-0
Offline
Сообщений: 9
Re: пустой возвращаемый набор в ADOQuery - как отловить?
«
Ответ #2 :
20 Март 2015, 08:37:09 »
заморока в том, что q->FieldByName("rez_f0") действительно не есть Null
если
Variant v = q->FieldByName("rez_f0")->Value, то Null там действительно нет.
пока вышел из ситуации тем, что смотрю на
unsigned short us = v.VType
если us == 1 то набор ,как понимаю, некорректный.
а вот теперь, когда это работает, буду выяснять почему и как оно работает
Записан
Страниц: [
1
]
Вверх
Печать
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Вопросы программирования
-----------------------------
=> Общие вопросы программирования в C++Builder
=> Программирование с FMX
=> Работа с базами данных в C++Builder
=> Windows API
=> Технологии COM/DCOM, ActiveX
=> Аспекты и идеология профессиональной разработки ПО
=> Компьютерное железо и системное администрирование
=> студенческий городок
-----------------------------
Обсуждение материалов на сайте
-----------------------------
=> Обсуждений статей на сайте
=> Обсуждение материалов из файлового архива
=> Компоненты сторонних разработчиков к С++Builder
-----------------------------
Работа сайта и новости
-----------------------------
=> Ищу/предлагаю работу
=> Новости из мира программирования
=> Новости - события календаря
=> Голосования
=> Компьютерный юмор и приколы
=> Работа сайта
=> Флейм
-----------------------------
FAQ - частозадаваемые вопросы/ответы
-----------------------------
=> FAQ, общие вопросы, посвящённые C++Builder
=> FAQ, вопросы по базам данных
=> FAQ, вопросы по компонентам
Загружается...