Russian Qt Forum
Июнь 11, 2024, 08:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с mySQL в Qt5  (Прочитано 2908 раз)
admsasha
Гость
« : Декабрь 26, 2013, 03:30 »

Пытаюсь свой старый код портировать с Qt4 на Qt5. Возникла проблема на sql запросе.

Вот тестовый пример:
Код:
    QSqlDatabase db =  QSqlDatabase::addDatabase("QMYSQL","test");
    db.setDatabaseName("test");
    db.setHostName("127.0.0.1");
    db.setUserName("myuser");
    db.setPassword("mypassword");
    if( !db.open()){
        QMessageBox::critical(0, QObject::tr("SQL Error"), db.lastError().text());
        qDebug() << db.lastError();
        return 1;
    }
    QSqlQuery query(QSqlDatabase::database("test"));

    query.prepare("SELECT id from mytable");
    if(!query.exec()){
        qDebug() << query.lastError().text();
    }else{
        qDebug() << query.size();
        while (query.next()){
            qDebug() << query.value(0).toString();
        }
        query.clear();
    }

Ошибок нигде не показывает. Size выводит 9, но результата не выводит и вообще в цикле не разу не бывает. Что делаю не так ?

Os: windows XP
Qt: mingw/Qt 5.2

Записан
carrygun
Гость
« Ответ #1 : Декабрь 26, 2013, 04:51 »

Попробуйте перед циклом написать следующее:
Код
C++ (Qt)
query.first();
qDebug() << query.value(0);
 
И у вас действительно 9 записей в той таблице?
Записан
admsasha
Гость
« Ответ #2 : Декабрь 26, 2013, 06:11 »

Попробуйте перед циклом написать следующее:
Код
C++ (Qt)
query.first();
qDebug() << query.value(0);
 
И у вас действительно 9 записей в той таблице?
Пробовал. Эффекту не дало. query.value(0), написал, что не отсутствует запись.
Да, их реально 9 записей, сразу же проверил.
Записан
admsasha
Гость
« Ответ #3 : Декабрь 26, 2013, 06:15 »

Обновил mysql server до 5.1 (была 5.0, 5.7 под XP не работает) для получения обновленной libmysql.dll и всё заработало.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 17.