vs2017下qt项目连接数据库 没有“QMYSQL” driver not loaded

环境:visual studio2017 + qt-vasaddin + qt5.14.1 + mysql64位

最近qt项目需要用到vs开发,不多说,来搭建环境。

1.网盘下载地址
链接:https://pan.baidu.com/s/1NuO0oR7eU5M8I46W3Oqsbg
提取码:se2m

注意:
①mysql环境与msvc2017编译器环境保持一致。
mysql32位 配 msvc2017 32位
或 mysql64位 配 msvc2017 64位
我这里选择的是msvc2017-64bit

②qt安装时编译器勾选MSVC2017 64位。Source源码勾选。

2.vs建立了界面应用程序(勾选SQL模块)测试mysql连接

#include <qsqldatabase.h>
#include <qmessagebox.h>
#include <qdebug.h>
#include <qsqlerror.h>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	/*testMysqlConnection w;
	w.show();
	*/

	qDebug() << QSqlDatabase::drivers();
	QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");	//添加数据库
	db.setDatabaseName("test");		//数据库名称
	db.setHostName("localhost");	//主机名
	db.setUserName("root");			//用户名
	db.setPassword("这里写你的数据库密码");			//密码
	db.setPort(3306);				//端口号
	
	if (db.open())
	{
		QMessageBox::warning(NULL, QString("Tip"), QString("Successed to open database"), QMessageBox::Yes);
		return -1;
	}
	else {
		QMessageBox::critical(0, QObject::tr("Failed to open database"), db.lastError().databaseText(), QMessageBox::Cancel);
		return 0;
	}

//	return a.exec();
}

编译运行
Driver not load!
打印看看调试信息,先设置下项目属性
设置项目属性,打印调试信息main里面加一句代码

	QApplication a(argc, argv);
	qDebug() << QSqlDatabase::drivers();	//加上这句代码

编译运行:
在这里插入图片描述
好吧,QMYSQL都没有,老老实实编译驱动

2.编译mysql驱动
双击mysql.pro文件QtCreator运行,编译器选择msvc2017 64bit
如我的路径如图:
在这里插入图片描述
编辑mysql.pro文件
在这里插入图片描述
编译ok,将生成路径(mysql/lib)下刚刚生成的驱动文件qsqlmysql.dll及qsqlmysqld.dll
拷贝至msvc2017-64的驱动文件夹,替换原本的驱动,如我的替换路径如下图:

在这里插入图片描述
在这里插入图片描述
继续编译运行vc的测试代码,
在这里插入图片描述
解决方法:
加载驱动,将mysql解压目录lib目录下的libmysql.dll拷贝至msvc2017的bin目录下:
在这里插入图片描述
在这里插入图片描述
重新编译vc测试代码:
在这里插入图片描述

恭喜你,终于弄好了!喝杯咖啡去~

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值