服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - qt首次连接MYSQL驱动的各种问题图文详解

qt首次连接MYSQL驱动的各种问题图文详解

2023-04-16 18:36草莓瑶瑶奶昔 C/C++

通常来说,我们对数据库的操作更多地在于对数据库表的操作,下面这篇文章主要给大家介绍了关于qt首次连接MYSQL驱动的各种问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、在mySql安装目录的lib目录下,获取两个文件

这里MYSQL的安装地址是:D:\Program Files\MySQL\MySQL Server 5.5\lib

qt首次连接MYSQL驱动的各种问题图文详解

获取这两个文件,将它复制到QT安装目录下bin文件夹中:

这里的QT安装目录在:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\bin

qt首次连接MYSQL驱动的各种问题图文详解

 

二、查看QMYSQL驱动

如果在QT安装目录下没有qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用)这两个文件。(如果有,可以跳过第三节的内容了)

这里的查看路径是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

qt首次连接MYSQL驱动的各种问题图文详解

 

三、解决qt没有QMYSQL驱动问题

3.1 下载64位的MySQL Community Server

下载地址:MySQL :: Download MySQL Community Server

qt首次连接MYSQL驱动的各种问题图文详解

qt首次连接MYSQL驱动的各种问题图文详解

下载完成后解压(不安装)

解压后的内容如下图:

qt首次连接MYSQL驱动的各种问题图文详解

3.2 编辑mysql.pro文件

该文件在当前qt安装目录下。

本文mysql.pro路径为:D:\Qt1\Qt5.12.6\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql

qt首次连接MYSQL驱动的各种问题图文详解

用QtCreate打开编辑.pro文件

添加修改如下命令:

qt首次连接MYSQL驱动的各种问题图文详解

1、一定要屏蔽QMAKE_USE += mysql,如果不屏蔽会提示mysql库不存在。

注释代码:#QMAKE_USE += mysql

2、添加代码:INCLUDEPATH += "D:\Qt1\mysql-8.0.26-winx64\include"

该路径是刚才下载解压备用的mysql的头文件路径

3、添加代码:LIBS += "D:\Qt1\mysql-8.0.26-winx64\lib\libmysql.lib"

该路径是刚才下载解压备用的mysql的库文件路径

4、添加代码:DESTDIR = ../mysql/lib/

为了方便查找将来编译好的库文件,添加这个语句用来指明编译后的结果输出的位置

添加完成后,开始编译构建

等待右下方构建完毕后,在mysql.pro文件目录下,会多出一个lib文件夹

qt首次连接MYSQL驱动的各种问题图文详解

将这个文件夹中的所有内容复制到QT安装目录下的sqldrivers文件夹中

当前文档路径是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

qt首次连接MYSQL驱动的各种问题图文详解

 

四、测试连接

4.1 输出可用数据库

    qDebug() << "available drivers: ";
  QStringList drivers = QSqlDatabase::drivers();
  foreach (QString driver, drivers) {
      qDebug() << driver;
  }

当运行结果出现QMYSQL时,你就大功告成了!

qt首次连接MYSQL驱动的各种问题图文详解

4.2 连接数据库

    //连接数据库
  QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  db.setHostName("127.0.0.1");
  db.setPort(3306);
  db.setDatabaseName("planedb");
  db.setUserName("root");
  db.setPassword("123456");

  bool ok = db.open();
  if(ok)
  {
      QMessageBox::information(this, "infor", "success");
  }
  else
  {
      QMessageBox::information(this, "infor", "open failed");
      qDebug() << "error open database because" << db.lastError().text();
  }

编译运行后,出现success的对话框。

qt首次连接MYSQL驱动的各种问题图文详解

完美收官!

 

参考链接:

Qt连接MySQL数据库最详细的教程

QT出现没有MySQL驱动,手动编译步骤

 

总结

到此这篇关于qt首次连接MYSQL驱动的各种问题的文章就介绍到这了,更多相关qt首次连接MYSQL驱动内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_61196167/article/details/120654423

延伸 · 阅读

精彩推荐
  • C/C++C++函数重载的深入解析

    C++函数重载的深入解析

    在C++中,我们也能够把具有相同功能的函数整合到一个函数上,而不必去写好多个函数名不同的函数,这叫做函数的重载。以下是对C++中的函数重载进行了...

    C++教程网3612020-12-20
  • C/C++C++Primer笔记之关联容器的使用详解

    C++Primer笔记之关联容器的使用详解

    本篇文章对C++Primer 关联容器的使用进行了详细的分析介绍。需要的朋友参考下...

    C++教程网2372020-11-26
  • C/C++C++基础入门之运算符

    C++基础入门之运算符

    下面小编就为大家带来一篇关于C++运算符基础的文章。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    BJT3512022-02-19
  • C/C++Qt学习笔记之QPalette调色板类

    Qt学习笔记之QPalette调色板类

    这篇文章主要为大家详细介绍了Qt学习笔记之QPalette调色板类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Saqino8752021-08-01
  • C/C++C++中结构体和Json字符串互转的问题详解

    C++中结构体和Json字符串互转的问题详解

    这篇文章主要给大家介绍了关于C++中结构体和Json字符串互转问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    大匡先生10552021-10-28
  • C/C++C语言详细分析宏定义与预处理命令的应用

    C语言详细分析宏定义与预处理命令的应用

    宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的替换。字符串中可以含任何字符,可以是常数,也可以是表达式,预处...

    刚入门的小仙女4412023-02-17
  • C/C++C++实现动态顺序表(vector)

    C++实现动态顺序表(vector)

    这篇文章主要为大家详细介绍了C++实现动态顺序表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    get_it_started11182021-09-07
  • C/C++C++通过自定义函数求一元二次方程的根

    C++通过自定义函数求一元二次方程的根

    这篇文章主要介绍了C++通过自定义函数求一元二次方程的根,涉及C++数学运算相关技巧,非常简单实用,需要的朋友可以参考下...

    宾宾琪琪8712021-04-04