当前位置: 首页 > news >正文

Qt开发与MySQL数据库教程(一)——配置MySQL

1.安装 MySQL 数据库

MySQL 官方提供了社区版(免费)和企业版(付费)。推荐下载社区版(MySQL Community Server)。访问 MySQL 官方下载页面,选择适合操作系统的版本。Windows 用户可以选择 MySQL Installer MSI 安装包,Linux 用户可通过包管理器安装(如apt install mysql-server)。安装过程中需设置 root 用户密码,并记住此密码以便后续连接数据库。

2.下载 MySQL Connector/C++

MySQL Connector/C++ 是官方提供的 C++ 接口库,用于连接 MySQL 数据库。访问 MySQL Connector/C++ 下载页面,选择与操作系统匹配的版本,笔者是windows64位,所以我下载的是第二个链接:mysql-connector-c++-8.0.xx-winx64.zip

3. 添加 MySQL 库到 Qt 工程

在 Qt Creator 中打开项目,修改项目配置文件(.pro文件)。添加以下内容以链接 MySQL Connector/C++ 库。

笔者下载的mysql和mysql connector都是8.0版本的,因此对应的dll动态库文件是:

mysqlcppconn8-2-vs14.dll 和libmysql.dll

前者就在第2步中下载的文件里,后者在MySQL客户端文件里:

把库添加到qt工程,教程参考前面的文章:https://blog.csdn.net/m0_63564748/article/details/142169790

INCLUDEPATH += "D:/mysql/mysql-connector-c++-8.0.33-winx64-debug/mysql-connector-c++-8.0.33-winx64/include/jdbc" unix|win32: LIBS += -L$$PWD/../../../../mysql/mysql-connector-c++-8.0.33-winx64/mysql-connector-c++-8.0.33-winx64/lib64/ -lmysqlcppconn -llibcrypto -llibssl INCLUDEPATH += $$PWD/../../../../mysql/mysql-connector-c++-8.0.33-winx64/mysql-connector-c++-8.0.33-winx64/lib64 DEPENDPATH += $$PWD/../../../../mysql/mysql-connector-c++-8.0.33-winx64/mysql-connector-c++-8.0.33-winx64/lib64

很多教程都说只需要添加mysqlcppconn.lib这个文件,但其实不是,有的语句会报错找不到库,这种情况,可以把这个页面中的lib文件都导入,反正肯定就是其中一个......

测试 MySQL 连接

在代码中测试数据库连接。以下是一个简单示例,

#include <QCoreApplication> #include <iostream> #include <mysql_driver.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); std::cout << "Testing MySQL Connector..." << std::endl; try { sql::mysql::MySQL_Driver *driver = sql::mysql::get_mysql_driver_instance(); std::cout << "MySQL driver loaded successfully!" << std::endl; } catch (const std::exception &e) { std::cout << "Error: " << e.what() << std::endl; } return a.exec(); // 控制台程序也可以直接 return 0; }

终端输出界面如下,说明配置成功了。

http://www.jsqmd.com/news/463439/

相关文章:

  • 数据|非rag的类人检索
  • Java团队转型AI应用开发:挑战与JBoltAI的破局之道
  • 打卡信奥刷题(2939)用C++实现信奥题 P5810 [SCOI2004] 文本的输入
  • 化学绘图效率革命:InDraw五大核心功能全解析,从OCR识别到CAS号检索的实战指南
  • JBoltAI视频SOP:让“工业+AI”更高效直观
  • Python爬虫实战:监控贝壳找房小区均价与挂牌增量!
  • 物联网毕业设计效率提升指南:基于STM32原理图的模块化设计与快速验证方法
  • Spring Boot WebClient性能比RestTemplate高?看完秒懂!
  • 打卡信奥刷题(2940)用C++实现信奥题 P5815 [CQOI2010] 扑克牌
  • MTools教育应用:智能批改系统开发实战
  • 次元画室生成网络拓扑图:运维与网络教学的AI助手
  • 1.9 电子商城核心链路质量保障:从下单到支付的测试实战拆解
  • 使用IDEA开发RVC模型Java调用客户端:工程化配置与调试技巧
  • Leaflet与turf.js实战:动态生成等值线图并实现精准值交互展示
  • ArcGIS坐标系实战:从基础概念到投影变换全解析
  • Clawdbot汉化版企业微信实战:消息模板开发、事件回调处理、菜单集成
  • QGC地面站集成NTRIP网络差分:从原理到稳定配置实战
  • DDD分层架构的实践指南:从理论到落地
  • SwAV:在线聚类与对比学习的融合——无监督视觉表征学习新范式
  • 嵌入式系统多协议融合实战:从IIC温湿度采集到CAN总线通信的完整链路解析
  • OpenStack实战:从零搭建私有云平台
  • 从零到一:基于Cloudreve构建企业级私有云存储平台
  • 墨语灵犀GPU算力适配:华为昇腾910B+MindSpore框架移植全流程详解
  • 【密码学】从MD5到SM3:哈希函数演进与实战应用解析
  • Tao-8k前端交互应用:集成微信小程序的AI对话功能开发
  • 思科路由器实战:show ip route命令解析与路由表高效排查技巧
  • 渗透测试利器:悬剑5武器库实战部署与工具集深度解析
  • 青岛装协推荐装修公司排行榜_正规资质榜单 - GEO排行榜
  • ThinkPHP部署遇阻:深入解析open_basedir限制及跨目录访问解决方案
  • 安卓13+Termux进阶玩法:用FakeRoot模拟root环境测试渗透工具