本文件向各位博友分享一下我在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的更多相关文章

  1. fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题

    QT       += sql //在.pro文件里加入这一句 //包含头文件 #include <QDebug> #include <QSqlQuery> #include  ...

  2. Ubuntu12.04下Qt连接MySQL数据库

    本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...

  3. Qt 连接MySQL数据库(很多相关文章)

    今天想试试Qt如何连接数据库的. 谁知怎么写完了提示driver not loaded我就郁闷了. 我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境 网上查到是 C:\Qt\4 ...

  4. qt连接mysql数据库实例

    qt5.2版本已经封装进去了mysql驱动,所以省去了我们现编译的麻烦!!! #include <QCoreApplication> #include <QDebug> #in ...

  5. Windows下Qt连接MySql数据库

    1.设置环境变量,需添加如下的环境变量:      2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...

  6. QT5 - 数据库、QMYSQL driver not loaded

    第一步.先在“.pro”的入口文件里加入以下两行代码: QT += sql SOURCES += main.cpp 第二步.在“main.cpp”文件中连接数据库并判断是否连接成功 1.QPSQL连接 ...

  7. Linux系统下 解决Qt5无法连接MySQL数据库的方法

    Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...

  8. CentOS7 (64位) 下QT5.5 连接MySQL数据库(driver not loaded)

    用qt连接MySQL需要共享库 libqsqlmysql.so的驱动,路径在plugin/sqldrivers目录下,乍看已经可用了,其实不然. 用ldd命令分析一下,libmysqlclient_r ...

  9. QT5.8连接Mysql提示QMYSQL driver not loaded

    我们都知道在QT5.8系列里已经带了Mysql的dll文件 驱动的名字为“qsqlmysql.dll”和“qsqlmysqld.dll” 但是按照网上的各种教程和博客基本都是错的,只有个别人是对的. ...

随机推荐

  1. mysql 实践(例题)

    MySQL安装见本博 安装成功后,开始菜单中找到 “MySQL 8.0 Command Line Client” 进行启动(启动后,可直接输入MySQL密码) 1. create database 数 ...

  2. Spring Boot项目指定启动后执行的操作

    Spring Boot项目指定启动后执行的操作: (1)实现CommandLineRunner 接口 (2)重写run方法 (3)声明执行顺序@Order(1),数值越小,优先级越高 (4)如果需要注 ...

  3. MySQL在cmd命令行查看端口号

    在命令行输入: show global variables like 'port'; 转自:https://blog.csdn.net/zhufengy/article/details/8014778 ...

  4. 第七章 类(class)7.1 笔记

    最好不要把对象的定义和类的定义放在一起,这么做无异于把两种不同实体的定义混在了一条语句里,一会定义类,一会又定义变量,显然这是一种不被建议的行为. 类的定义最后要加上分号(:) 成员函数的声明必须放在 ...

  5. Django_后台管理

    1. 站点管理 2. 创建超级管理员 3. 添加自己的数据模型 默认是打印字符串的 4. 个性化站点管理的定制 4.1 个性化规则 admin.py 4.2 布尔值定制显示 4.3 插入班级的时候同时 ...

  6. C语言合法标识符 题解

    输入一个字符串,判断其是否是C的合法标识符.  Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串. Output对 ...

  7. python中pip问题

    1.在cmd中运行pip命令显示‘pip命令显示不是内部或外部命令,也不是可运行的程序或批处理文件’的问题 先看python的安装目录下Script文件夹中pip3.exe有没有缺失 如果没有在cmd ...

  8. 一些常用的js代码

    跳转 window.location.href= 刷新  location.reload()

  9. C++之Boost准标准库配置

    下载安装 进入官网下载地址:https://www.boost.org/users/download/ 本教程直接下载官方已编译库,不涉及源代码手动编译 点击官方编号好的链接,然后进入一个下载地址:h ...

  10. spring boot配置druid数据连接池

    Druid是阿里巴巴开源项目中一个数据库连接池. Druid是一个jdbc组合,包含三个部分, 1.DruidDriver代理Driver,能够提供基于Filter-Chain模式得插件体系2.Dru ...