操作系统:win7 编译器:mingw4.8(附Qt5.2) 链接到:Fedora核心版本5,i686上的内核2.6.15-1.2054_FC5 smp
db = new QSqlDatabase();
db->addDatabase("QMYSQL");
db->setHostName("localhost");
db->setDatabaseName("myclinic");
db->setUserName("root");
db->setPassword(",trth12");
qDebug() << loader.errorString();
qDebug() << "drivers: "<< QSqlDatabase::drivers();
if (db->open())
qDebug() << "Success!";
else
qDebug() << db->lastError().text();
消息
QSqlDatabase:QMYSQL驱动程序未加载QSqlDatabase:可用 驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL 7“共享 找不到库。“drivers:(”QSQLITE“,”QMYSQL“,”QMYSQL3“, “QODBC”,“QODBC3”,“QPSQL”,“QPSQL7”)
“驱动程序未加载驱动程序未加载”
答案 0 :(得分:2)
你似乎要么缺少Windows上的mysql插件或正确的mysql安装本身,在这种情况下你需要通过在你的系统上安装所有必需的mysql库来完成它,插件QtSql驱动程序可以识别它。
插件应该在plugins / sqldrivers文件夹下作为dll提供。您也可以将它放在应用程序旁边的sqldrivers文件夹中,所以有点像这样:
- yourapplication.exe
- sqldrivers/qsqlmysql4.dll
你需要以某种方式抓住它,或者自己构建它。这是文档中如何解释的解释:
How to Build the QMYSQL Plugin on Windows
您需要获取MySQL安装文件。运行SETUP.EXE并选择“自定义安装”。安装“Libs&amp; Include Files”模块。按如下方式构建插件(这里假设MySQL安装在C:\ MySQL中):
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake
如果您不使用Microsoft编译器,请在上面的行中将make替换为make。
但是您的代码还有另一个问题。对于mysql数据库,您应该使用“127.0.0.1”而不是“localhost”。
答案 1 :(得分:0)
感谢您的回答,但问题不在于我缺少qsqlmysql.dll但我没有libmysql.dll(看起来这个dll不带win7)。
这是一个video,它向您展示如何安装mysql
答案 2 :(得分:0)
我和你有相同的铅
解决方案是:
Qt MySQL驱动程序已经在Qt5中(但在之前的版本中没有!)
你只需要app app(或windows目录)旁边的“libmysql.dll”!你可以在“mysql \ mysqlX.X.XX \ lib \ opt”目录中找到“libmysql.dll”。
如果Qt MySQL驱动程序未找到libmysql.dll,则错误与找不到驱动程序相同...
下一次的好机会!