Не могу получить данные из поля типа MONEY, Возвращает пустоту с БД MSSQL |
Здравствуйте, гость ( Вход | Регистрация )
Не могу получить данные из поля типа 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 |
я что-то не уверена, что SQL это сожрёт. значение типа VARCHAR в поле типа INT обычно переводится через CAST. хотя, насчёт MS SQL я не помню деталей. SQL это сожрет и MS SQL и PostgreSQL и SQLite, кроме того, чуть выше был вывод qDebug, где видно, что запрос данные то вернул, так что дело не в этом. К тому же это был пример для того чтобы показать проблему, в реальной жизни там значение подставляется через QSqlQuery::bindValue(); Если используется драйвер ODBC, то он не поддерживает тип MONEY. Можно вместо него использовать DECIMAL, либо в SELECT делать CAST. Используется ODBC, менять тип поля нельзя. Пока обхожусь CAST. Думал вообще-то что QVariant не поддерживает тип MONEY, а оказалось что драйвер гм.... Сообщение отредактировал silver47 - 25.4.2013, 12:19 |
|
|
Текстовая версия | Сейчас: 2.6.2024, 0:29 |