Qt连接mysql数据库遇到QMYSQL driver not loaded
本文件向各位博友分享一下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的方法,希望对遇到同样问题的博友有所帮助。
工程运行环境:vs2015+Qt5.8
在开发过程中,编写数据库连接函数,然后运行代码,报以下错误:
QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
数据库连接代码整理如下:
#include "mysql.h"
bool RegisteredUi::ConnectMysql()
{
QString ipaddress = "127.0.0.1";
QSqlDatabase m_db = QSqlDatabase::addDatabase("QMYSQL"); //数据库类型
m_db.setHostName(ipaddress); //内网IP"192.168.1.108" //主机名localhost192.168.0.142
m_db.setDatabaseName("Original_Records"); //数据库名称Original Records
m_db.setPort(3306);
m_db.setUserName("root"); //用户名
m_db.setPassword("password"); //密码
if (!m_db.open())
{
QMessageBox::information(0, "连接失败",
"请确定网络是否连接正常,或者mysql服务器的IP是否有效!",
QMessageBox::Cancel);
return false;
}
else
{
QMessageBox::information(this, "连接成功", "mysql 数据库连接成功 !");
return true;
}
}
解决方法:
1.先安装mysql数据库,确保数据库安装成功
2.提示mysql.h源文件找不到,解决方法如下:
#include "mysql.h" //添加mysql.h头文件编译提示
解决方法:
1. 将mysql安装目录下的C:\Program Files\MySQL\MySQL Server 8.0文件夹下的include文件夹拷贝到工程文件夹下,如下图:
2. 然后右击工程,属性-》c/c++常规,将include添加到附加包含目录中,如下图所示:
添加完成如下图所示:
点击确定,应用重新编译工程,刚刚报错提示找不到mysql.h源文件的错误消失了,然后realse编译代码,发现还是会报同样的错误,解决方法与debug模式的解决一样。
2. 编译虽然通过了,但是运行过程中会有如下提示:
Qt VS Tools: QML debug: Debugging project 'OriginalRecord'...
Qt VS Tools: QML debug: DISABLED: QML debugging disabled in Qt project settings
解决方法如下:
将mysql安装目录C:\Program Files\MySQL\MySQL Server 8.0下的lib文件夹拷贝到工程项目下,如下图所示:
点击项目右键-》属性-》链接器-》找到附加库目录,将lib文件添加进去,如下图所示:
添加成功后如下图所示:
找到链接器下的输入-》附加依赖项,然后将需要的xx.lib文件添加进去,如下图所示:
mysql需要的lib文件有libmysql.lib和mysqlclient.lib两个,添加后如下图所示:
添加完成之后重新编译项目,运行程序还是会有相同的提示:是因为与mysql有关的xx.dll文件没有添加到工程中。
添加拷贝libmysql.dll文件到工程同级目录下的x64文件夹中的debug和release文件中。也可以直接拷贝到C:\Windows\System32下面
写的不好,希望见谅,希望能够帮组有需要的博友解决问题。
如果以上还没有解决,将mysql安装目录下C:\Program Files\MySQL\MySQL Server 8.0\bin的libeay32.dll,ssleay32.dll,libmecab.dll文件拷贝到工程同级目录下的x64文件夹中的debug和release文件中。
Qt连接mysql数据库遇到QMYSQL driver not loaded的更多相关文章
- fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题
QT += sql //在.pro文件里加入这一句 //包含头文件 #include <QDebug> #include <QSqlQuery> #include ...
- Ubuntu12.04下Qt连接MySQL数据库
本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...
- Qt 连接MySQL数据库(很多相关文章)
今天想试试Qt如何连接数据库的. 谁知怎么写完了提示driver not loaded我就郁闷了. 我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境 网上查到是 C:\Qt\4 ...
- qt连接mysql数据库实例
qt5.2版本已经封装进去了mysql驱动,所以省去了我们现编译的麻烦!!! #include <QCoreApplication> #include <QDebug> #in ...
- Windows下Qt连接MySql数据库
1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...
- QT5 - 数据库、QMYSQL driver not loaded
第一步.先在“.pro”的入口文件里加入以下两行代码: QT += sql SOURCES += main.cpp 第二步.在“main.cpp”文件中连接数据库并判断是否连接成功 1.QPSQL连接 ...
- Linux系统下 解决Qt5无法连接MySQL数据库的方法
Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...
- CentOS7 (64位) 下QT5.5 连接MySQL数据库(driver not loaded)
用qt连接MySQL需要共享库 libqsqlmysql.so的驱动,路径在plugin/sqldrivers目录下,乍看已经可用了,其实不然. 用ldd命令分析一下,libmysqlclient_r ...
- QT5.8连接Mysql提示QMYSQL driver not loaded
我们都知道在QT5.8系列里已经带了Mysql的dll文件 驱动的名字为“qsqlmysql.dll”和“qsqlmysqld.dll” 但是按照网上的各种教程和博客基本都是错的,只有个别人是对的. ...
随机推荐
- k8s集群应用例如jenkins启动问题排查思路
k8s集群应用例如jenkins启动问题排查思路 待办 rancher上的事件报告>pods日志>pods内容器日志(现获取容器id再查看容器日志,获取容器id 使用的是相应问题pod的名 ...
- 牛客网刷题总结—Day1
1.关于哈夫曼树 哈夫曼树也称最优二叉树,其n个叶子节点都是带有权值的,其节点的带权路径长度(n个叶子节点的权值*其到根节点的路径之和)最小的二叉树即为哈夫曼树. 一般的哈夫曼树不存在度为1的节点(除 ...
- MySQL移动数据库位置
http://zlyang.blog.51cto.com/1196234/1726029 需求:MySQL数据库文件原位置:/var/lib/mysql 要移动至:/data/mysql 1.首先在/ ...
- calloc函数的使用和对内存free的认识
#include<stdlib.h> void *calloc(size_t n, size_t size): free(); 目前的理解: n是多少个这样的size,这样的使用类似有f ...
- python 把list中的所有元素串起来变为字符串
list1=['2','3','4'] s=''.join(list1) print(s) '234' 把元素都变为字符串 list2=[3,4,5] list2=[str(i) for i i ...
- MP4转mp3
python实现: 依赖: glob,pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not wo ...
- 情人节用Python智能聊天机器人的实现|制作一个虚拟恋人
首先项目需要的包 import urllib.request import urllib.parse from tkinter import * import time PS:另外很多人在学习Pyth ...
- my97日期控件弹出位置显示异常
使用my97日期选择控件的时候,如果整个页面是有滚动条的,根据触发显示日期的控件的父控件的position不同会显示不同的情况 1.position不为fixed则滑动滚动条,显示的日期层不会出现异常 ...
- centos长ping输出日志的脚本
为监控某服务器的网络情况,制作一个sh脚本,记录ping的长过程,并输出日志以备观察. 1.脚本如下 cat /home/summer/ping100.sh #!/bin/sh ping 172.16 ...
- 主席树 模板题 luogu([POI2014]KUR-Couriers)
求区间内是否有个数大于二分之一的数,有的话输出这个数,没有的话输出0. 在询问的时候,如果左边有sum大于这个limit,就可以继续求,如果右边有sum大于limit 也递归, 如果都不行,返回 0 ...