新建一个基于控制台的工程用来进行Mysql连接的测试,在.pro文件中添加QT += sql以便引用Qt数据库的头文件。
代码如下:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlError>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("tets_mysql");
db.setUserName("root");
db.setPassword("281039");
if(!db.open())
{
qDebug() << "fails..";
//qDebug() << db.lastError().text();
}else
{
qDebug() << "conneted..";
}
return a.exec();
}
运行时出现:
这是Qt连接数据库的经典问题。
解决办法,在Mysql的服务器的安装目录中找到libmysql.dll文件,
复制到C:\Qt\Qt5.4.2\5.4\mingw491_32\bin路径下即可。
这样就可以正常连接数据库了。
如果你的数据库不存在或者想打印错误,可以使用db.lastError().text()获得错误信息,需要加头文件QSqlError。