在QT中使用MySQL数据库
前篇已经写了如何使用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数据库相关推荐
- 在Qt中操作MySQL数据库
目录 一.安装驱动 (1)安装 (2)验证驱动是否安装成功 二.使用MySQL数据库 (1)单语句执行 (2)多语句执行 (3)批处理操作 方式一:addBindValue() 方式二:bindVal ...
- 压缩包安装mySQL 与 Qt中使用mySQL
文章目录 安装mySQL mySQL压缩包安装 Qt中使用mySQL Qt中的mySQL驱动编译 test 安装mySQL mySQL压缩包安装 参考: https://blog.csdn.net/S ...
- 【转】QT中使用MYSQL中文乱码解决方法
[转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...
- alin的学习之路:在Qt中使用Oracle数据库
alin的学习之路:在Qt中使用Oracle数据库 1. 准备工作 在Qt中安装好Source插件,将其中的oci模块进行编译,注意要在oci.pro中指定数据块的动态库和头文件路径 需要在Qt项目文 ...
- echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...
关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...
- linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决
Linux系统中关于Mysql数据库导致CPU很高的问题解决 发布时间:2007-11-19 00:01:12来源:红联作者:spworks 服务器环境 Liunx AS4 + PHP5 + Mysq ...
- Linux中的MySql数据库远程连接
Linux中的MySql数据库远程连接 rpm–qa |grep mysql安装了以下的包: mysql-libs-5.1.71-1.el6.x86_64 mysql-connector-java-5 ...
- python echarts mysql python_Django中从mysql数据库中获取数据传到echarts方式
尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...
- 在Asp.net core 项目中操作Mysql数据库
工程环境 : win10+asp.net core 2.1 + vs2017 步骤: 1 在vs中新建asp.net core 项目 2 在Nuget中为项目添加第三方包microsoft.visu ...
最新文章
- python语言基础汇总
- oracle账号注册公司名称,oracle+账号创建与管理oracle创建数据库
- MFC两个复选框互斥设置
- 8 个你必须要掌握的 GitHub 实用技巧!
- flutter中list相关操作汇总(有这一篇就够啦)
- SSM框架的搭建学习(1)---MyBatis的环境搭建
- 排名前100的PHP函数及分析
- SC2012 Orchestrator - 文档及资源链接
- 问题2----网速问题?造成的ORA-01034和ORA-27101
- IPv6带给互联网的新契机
- 2020年华为鲲鹏产业体系研究深度报告
- fatal: unable to access 'https://github.com:***' 或者本机ping不通github.com解决方法
- 从SEO的角度,如何打造非专业领域内容?
- Ubuntu解压、压缩zip、tar、tar.gz、tar.bz2文件
- 中级软件设计师JAVA
- python中的常数e的实现
- 传奇世界开服教程:传奇世界开服需要准备什么?前期需要投入多少?
- 数据分析总结一:数据分析思维
- 关于只有两行报错的闪退( E/ActivityManager: Found activity ActivityRecord)
- 侯捷-C++面向对象高级开发(三大函数:拷贝构造,拷贝赋值,析构)