Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 28.09.2011, 21:41
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Всем привет.Qt 4.2.3Вот такой код :КодC++ (Qt) QVariant varNull(QVariant:ouble);QVariant var0 = 0.0;if (varNull == var0) { EH_COUT2("varNull.isNull()", varNull.isNull())EH_ENDL; // мои макросы для вывода в стандартный поток EH_COUT2("var0.isNull()", var0.isNull())EH_ENDL; }вывод :varNull.isNull() 1var0.isNull() 0То есть внутрь if заходит.Столкнулся я с этим при работе с базой. Есть в одной таблице поле типа double, где могут быть любые значения, в том числе 0. А могут быть и не заданы, что имеет свой смысл.Запрос всё возвращает правильно, т.е. если 0, то 0 и query.value(i) не isNull; если не задано, то query.value(i) - isNull.И в некоторых местах программы мне надо сравнивать эти значения. И вот собственно натыкаюсь на то, что 0 и нету оказывается одно и тоже, что в контексте моей программы недопустимо. То есть конечно дополнительные проверки всё разрешают, но...Вопрос к гуру. Является ли это багом, или я что-то не понимаю?
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Как правильно выбрать из mysql is null или is not null Guest Продолжение старого архива 0 16.10.2011 15:00
Простой вопрос по QVariant Guest Третий архив вопросов и ответов 0 28.09.2011 21:12
QBitArray QVariant::toBitArray() Guest Новый архив 3 0 28.09.2011 20:20
QIcon в QVariant и обратно Guest Третий архив вопросов и ответов 0 28.09.2011 20:02
Qvariant и Automatically Cast To Guest Новый архив 2 0 28.09.2011 15:46



© www.otvetnemail.ru - Форум вопросов и ответов.