前篇已经写了如何使用QT链接sqlite和SQLServer,见点击打开链接

本次主要说明如何通过QT链接MySQL数据库;

首先确保数据库中存在Mysql的驱动,详见QT安装目录中的plugins/sqldrivers文件夹下是否存在qsqlmysql.dll文件。

首先在xxx.pro工程文件中添加

QT       += sql

具体代码如下:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//   db.setDatabaseName("my.db");db.setHostName("128.110.110.110");db.setPort(3306);db.setDatabaseName("database");db.setUserName("root");db.setPassword("hello123");if (!db.open()) {QMessageBox::critical(0, "Cannot open database1","Unable to establish a database connection.", QMessageBox::Cancel);return false;}

如果可以正常打开和读取数据库,则说明链接成功。

注意:有时候存在即使有Mysql的驱动,仍然报错

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

此时说明QT中自带的Mysql的驱动不依赖,需要自己重新编译。方法如下:当然可以参考这里点击打开链接

先去官网下载https://dev.mysql.com/downloads/connector/c/

文件是mysql-connector-c-6.1.10-win32(当然选择适合自己操作系统的压缩包)

之后解压,在路径中不要存在中文和空格,然后进入QT的安装源码目录中找到mysql的源码,进行编译,

具体位于\Src\qtbase\src\plugins\sqldrivers\mysql该处,之后打开QT的命令行,如图:

然后执行:

cd C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\plugins\sqldrivers\mysql\
qmake "INCLUDEPATH+=C:\MySQL\MySQLServer5.5\include" "LIBS+=C:\MySQL\MySQLServer5.5\lib\libmysql.lib" -o Makefile mysql.pro
mingw32-make

如果没有错误,则编译成功,可以在\Src\qtbase\plugins\sqldrivers该文件夹下发现已经生成动态链接库,将其拷贝之\mingw491_32\plugins\sqldrivers中替代之前QT自带的Mysql驱动。

然后将Mysql的动态链接库

C:\MySQL\MySQLServer5.5\lib\libmysql.lib

拷贝至系统中或者\mingw491_32\bin中即可。

大功告成。开始QT的Mysql之旅吧。

在QT中使用MySQL数据库相关推荐

  1. 在Qt中操作MySQL数据库

    目录 一.安装驱动 (1)安装 (2)验证驱动是否安装成功 二.使用MySQL数据库 (1)单语句执行 (2)多语句执行 (3)批处理操作 方式一:addBindValue() 方式二:bindVal ...

  2. 压缩包安装mySQL 与 Qt中使用mySQL

    文章目录 安装mySQL mySQL压缩包安装 Qt中使用mySQL Qt中的mySQL驱动编译 test 安装mySQL mySQL压缩包安装 参考: https://blog.csdn.net/S ...

  3. 【转】QT中使用MYSQL中文乱码解决方法

    [转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...

  4. alin的学习之路:在Qt中使用Oracle数据库

    alin的学习之路:在Qt中使用Oracle数据库 1. 准备工作 在Qt中安装好Source插件,将其中的oci模块进行编译,注意要在oci.pro中指定数据块的动态库和头文件路径 需要在Qt项目文 ...

  5. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

  6. linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决

    Linux系统中关于Mysql数据库导致CPU很高的问题解决 发布时间:2007-11-19 00:01:12来源:红联作者:spworks 服务器环境 Liunx AS4 + PHP5 + Mysq ...

  7. Linux中的MySql数据库远程连接

    Linux中的MySql数据库远程连接 rpm–qa |grep mysql安装了以下的包: mysql-libs-5.1.71-1.el6.x86_64 mysql-connector-java-5 ...

  8. python echarts mysql python_Django中从mysql数据库中获取数据传到echarts方式

    尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...

  9. 在Asp.net core 项目中操作Mysql数据库

    工程环境 : win10+asp.net core 2.1 + vs2017 步骤: 1 在vs中新建asp.net core  项目 2 在Nuget中为项目添加第三方包microsoft.visu ...

最新文章

  1. python语言基础汇总
  2. oracle账号注册公司名称,oracle+账号创建与管理oracle创建数据库
  3. MFC两个复选框互斥设置
  4. 8 个你必须要掌握的 GitHub 实用技巧!
  5. flutter中list相关操作汇总(有这一篇就够啦)
  6. SSM框架的搭建学习(1)---MyBatis的环境搭建
  7. 排名前100的PHP函数及分析
  8. SC2012 Orchestrator - 文档及资源链接
  9. 问题2----网速问题?造成的ORA-01034和ORA-27101
  10. IPv6带给互联网的新契机
  11. 2020年华为鲲鹏产业体系研究深度报告
  12. fatal: unable to access 'https://github.com:***' 或者本机ping不通github.com解决方法
  13. 从SEO的角度,如何打造非专业领域内容?
  14. Ubuntu解压、压缩zip、tar、tar.gz、tar.bz2文件
  15. 中级软件设计师JAVA
  16. python中的常数e的实现
  17. 传奇世界开服教程:传奇世界开服需要准备什么?前期需要投入多少?
  18. 数据分析总结一:数据分析思维
  19. 关于只有两行报错的闪退( E/ActivityManager: Found activity ActivityRecord)
  20. 侯捷-C++面向对象高级开发(三大函数:拷贝构造,拷贝赋值,析构)

热门文章

  1. vscode 最舒服字体 onedark dark+vivid
  2. 【Python】-- python与json数据格式的转换
  3. 全面认识高并发:高性能、高可用、高扩展
  4. 赴德国旅游办理签证指南(转载)
  5. 【从C开始学编程】之(序言)大家为什么要学C语言以及C语言好不好学?
  6. 【观察】从鞍钢数字化转型升级,看如何打造智能制造数据坚实底座?
  7. 【毕业设计】基于单片机的火灾报警系统设计与实现 - 物联网 stm32
  8. 【SpringBoot】springboot日志配置
  9. 浏览器--搜索操作符15个实例
  10. 【QQ技术】群文件报毒怎样下载?~ 变相绕过QQ复杂检验过程