QT 5.5.6 - Запрос к MySQL вместо TINYINT выводит CHAR



  • Конвертировал ПО с QT 4.7.8 MinGW x32 на QT 5.5.6 MinGW x32, всё чётко работает.
    БД на MySQL 5.1.
    В таблице есть поля DOUBLE(11.2) и TINYINT(3).
    Запрашиваю их и заливаю в лист. Но при запросе выводит не то что надо, вот запрос:

    QSqlQuery query;
        QString qText = SELECT summav_o,state FROM ordered_cost WHERE year='2016' AND month = '10';
        query.prepare(qText);
        if(query.exec()){
            while(query.next()){
                QStringList row;
                row.append(query.value(0).toString());  summav_o DOUBLE(11.2)
                row.append(query.value(1).toString()); state TINYINT(3)
                Data.append(row);
            }
    

    В итоге в при дебаге TINYINT(3) выводится символами, a DOUBLE(11.2) не с двумя знаками после точки.
    DOUBLE(11.2) - 6924483.1900000004
    TINYINT(3) - \u0004 (Это цифра 4)

    Всё конечно можно исправить для DOUBLE(11.2) -

    QString::number(query.value(0).toDouble(),'f',2)
    

    а для TINYINT(3) -

    QString::number(query.value(1).toInt())
    

    !Но в коде множество аналогичных запросов (около 3 тыщ.).

    Пробовал разные драйвера для MySQL, а так же тестировал на сервере версии 5.7, толку нет.

    Подскажите пожалуйста как сделать вывод привычным для QT 4.7.8, есть ли какая-то инъекция для выздоровления?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.