crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Не могу получить данные из поля типа MONEY, Возвращает пустоту с БД MSSQL
silver47
  опции профиля:
сообщение 24.4.2013, 6:57
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

Спасибо сказали: 40 раз(а)




Репутация:   6  


Добрый день.
Столкнулся с такой проблемой: есть данные типа money в БД MS SQL, при запросе SELECT возвращается пустое значение.

Проблема повторяется и на Qt 4.8.4 и на Qt 5.0.1 с Win7.

С чем может быть связано? Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
silver47
  опции профиля:
сообщение 25.4.2013, 10:45
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

Спасибо сказали: 40 раз(а)




Репутация:   6  


Цитата(Iron Bug @ 25.4.2013, 10:46) *
я что-то не уверена, что SQL это сожрёт. значение типа VARCHAR в поле типа INT обычно переводится через CAST. хотя, насчёт MS SQL я не помню деталей.

SQL это сожрет и MS SQL и PostgreSQL и SQLite, кроме того, чуть выше был вывод qDebug, где видно, что запрос данные то вернул, так что дело не в этом. К тому же это был пример для того чтобы показать проблему, в реальной жизни там значение подставляется через QSqlQuery::bindValue();

Цитата(lanz @ 25.4.2013, 11:13) *
Если используется драйвер ODBC, то он не поддерживает тип MONEY. Можно вместо него использовать DECIMAL, либо в SELECT делать CAST.

Используется ODBC, менять тип поля нельзя. Пока обхожусь CAST.
Думал вообще-то что QVariant не поддерживает тип MONEY, а оказалось что драйвер гм....

Сообщение отредактировал silver47 - 25.4.2013, 12:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.6.2024, 0:29