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

2023-12-23 20:59

本文主要是介绍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测试代码:
在这里插入图片描述

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

这篇关于vs2017下qt项目连接数据库 没有“QMYSQL” driver not loaded的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529442

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅