Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Snak2013 от Февраль 13, 2017, 11:06



Название: Проблема с SQL соединением
Отправлено: Snak2013 от Февраль 13, 2017, 11:06
Доброго времени суток, пытаюсь подключиться к MYSQL серверу делаю это так:

Код:
QSqlDatabase *DB = new QSqlDatabase();
DB->addDatabase("MYSQL","MyBD");
    DB->setHostName("localhost");
    DB->setDatabaseName("TestDelphi");
    DB->setUserName("sa");
    DB->setPassword("sa");
    DB->open();
    QSqlQuery *query = new QSqlQuery(*DB);
    bool error = query->exec("SELECT * FROM Products");
    if(!error)
    {
       QString err = query->lastError().text();
       QMessageBox::warning(this,"Ошибка",err,QMessageBox::Close);
    }
    else
    {
        while (query->next())
        {
            int ID = query->value(0).toInt();
            QString Product = query->value(1).toString();
        }
    }
    delete query;
    DB->close();

При попытки выполнить запрос происходит ошибка загрузки драйвера пишет что драйвер не загружен. Погуглив узнал что драйвер надо собрать. Нашел статью http://doc.qt.io/qt-5.7/sql-driver.html#qmysql (http://doc.qt.io/qt-5.7/sql-driver.html#qmysql) в статье написано чтобы собрать драйвер надо выполнить следующее:
Код:
cd %QTDIR%\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib" mysql.pro
nmake

К сожалению я не понимаю что надо сделать пути \qtbase\src\plugins\sqldrivers\mysql в папке QT у меня нет. Параметр mysql.pro это проект в котором я планирую использовать MYSQL или это какойто отдельный проект? Пожалуйста подскажите как правильно собрать драйвер MYSQL для qt 5.7


Название: Re: Проблема с SQL соединением
Отправлено: PimenS от Февраль 13, 2017, 12:36
Версия Qt какая?

Обычно плагин qsqlmysql идет из коробки. его не надо собирать. Driver not loaded не обязательно говорит о проблемах с плагином Qt.
Может быть у тебя не прописаны пути до библиотек mySQL, может быть версия библиотек mySQL не совпадает с версией плагина qsqlmysql.

Если вдруг его нет:
Открываешь консоль. Набираешь например:
Цитировать
cd %QTDIR%\5.8\mingw53_32\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib" mysql.pro
mingw32-make
mingw32-make install

плагин qsqlmysql должен появиться в нужном месте.


Название: Re: Проблема с SQL соединением
Отправлено: Snak2013 от Февраль 14, 2017, 09:08
Версия 5.8. Спасибо попробую.