在做动态连接时需要用到数据库,于是安装了mysql,结果安装完之后,QT始终连接不上,报
"Unknown error"
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Connect to MySql error: "Driver not loaded Driver not loaded"
在网上找各种解决办法始终不行,经过各种尝试,终于解决了还是要感谢 liuwons的http://blog.csdn.net/tobacco5648/article/details/37757691。还有gebilaowang的http://www.cnblogs.com/gebilaowangdebaba/p/4934726.html谢谢您们的分享,我解决了问题也分享一下,
mysql的安装自己找吧我就不介绍了,只贴连接数据库的源码
#include <iostream>
#include <QSqlDatabase>
#include <QCoreApplication>
#include <QDebug>
using namespace std;
int main()
{
//查找plugins的路径(我开始就差这一句导致一直报错)
QCoreApplication::addLibraryPath("/usr/local/Qt-5.7.1/plugins");
//添加驱动
QSqlDatabase d = QSqlDatabase::addDatabase("QMYSQL");
//连接本地数据库,
d.setHostName("localhost");
//这个是数据的名字
d.setDatabaseName("dbname");
//端口号
d.setPort(3306);
//用户名
d.setUserName("root");
//密码
d.setPassword("12356");
if(d.open())
cout<<"Hi mysql!连接"<<endl;
else
cout<<"失败"<<endl;
qDebug()<<QSqlDatabase::drivers()<<endl;
return 0;
}
这样就可以了我的Qt是5.7.1,mysql是5.5.54
连接后就成功了 你的Qt一定要有libqsqlmysql.so文件
就这些了
连接成功后
Hi mysql!连接
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")