vs2022 C++ 使用MySQL Connector/C++访问mysql数据库

1、下载MySQL Connector/C++,我这里下载的是debug版本,下载链接MySQL :: Download MySQL Connector/C++ (Archived Versions)

2、解压并且放到MySQL文件夹中,便于使用

3、打开vs2022,右键项目,点击属性

4、在 “C/C++” -> “常规” -> “附加包含目录” 中,添加Connector/C++的include目录

5、在 “链接器” -> “常规” -> “附加目录” 中,添加Connector/C++的lib64/vs14/debug目录

6、在 “链接器” -> “输入” -> “附加依赖项” 中,输入mysqlcppconn.lib


 

7、在Connector/C++的lib64目录下,找到libcrypto-1_1-x64.dll和libssl-1_1-x64.dll这两个文件,并且将其复制到项目的.sln文件同目录下

8、在Connector/C++的lib64\debug目录下,找到mysqlcppconn-9-vs14.dll和libcrypto-1_1-x64.dll,将其复制到项目x64目录下的debug或者release文件夹下(根据不同模式放入不同文件夹)

9、头文件:#include <mysql/jdbc>

10、测试代码
 

void test_connnect_sql() {SetConsoleOutputCP(CP_UTF8);	//设置编码格式,避免mysql中的中文数据乱码try {sql::mysql::MySQL_Driver* driver;sql::Connection* con = nullptr;// 获取 MySQL 驱动实例driver = sql::mysql::get_mysql_driver_instance();std::cout << "Attempting to connect..." << std::endl;// 尝试连接数据库con = driver->connect("tcp://127.0.0.1:3306", "root", "1111");std::cout << "Connected successfully!" << std::endl;// 选择数据库con->setSchema("map_test");// 执行 SQL 查询sql::Statement* stmt = con->createStatement();sql::ResultSet* res = stmt->executeQuery("select * from phone_info");// 输出查询结果while (res->next()) {//cout << res->getString("phone") << "," <<res->getString("name") << endl;string phone = res->getString("phone");string name = res->getString("name");cout << phone << "," << name << endl;}//释放资源delete res;delete stmt;delete con;}catch (sql::SQLException& e) {std::cerr << "SQL Exception: " << e.what() << std::endl;}catch (std::exception& e) {std::cerr << "Exception: " << e.what() << std::endl;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频技术未来展望:EasyCVR如何引领汇聚融合平台新趋势

随着科技的飞速发展&#xff0c;视频技术已成为现代社会不可或缺的一部分&#xff0c;广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。本文将探讨视频技术的未来发展趋势&#xff0c;并深入分析TSINGSEE青犀EasyCVR视频汇聚融合平台的技术优势&#xff0c;展现其…

HIVE 数据仓库工具之第二部分(数据库相关操作)

HIVE 数据仓库工具之第二部分&#xff08;数据库相关操作&#xff09; 一、Hive 对数据库的操作1.1 创建数据库1.1.1 创建数据库语法1.1.3 示例 1.2 使用数据库1.2.1 使用数据库语法1.2.2 示例 1.3 修改数据库1.3.1 修改数据库的语法1.3.2 示例 1.4 删除数据库1.4.1 删除数据库…

JetBrains WebStorm 2024.2 (macOS, Linux, Windows) - 最智能的 JavaScript IDE

JetBrains WebStorm 2024.2 (macOS, Linux, Windows) - 最智能的 JavaScript IDE JetBrains 跨平台开发者工具 请访问原文链接&#xff1a;ttps://sysin.org/blog/jetbrains-webstorm/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sy…

能大致讲一下Chat GPT的原理吗?

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 话题群精选了三位网友的回答&#xff0c;从不同的角度阐释了Chat GPT的原理。 第一位网友的回答&#xff1a; 不给你扯长篇大论&#…

人工智能、机器学习和深度学习有什么区别?应用领域有哪些?

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发…

Python使用OpenCV识别图片人脸

在Python中&#xff0c;识别图片中的人脸并获取人脸区域的坐标&#xff0c;通常可以使用OpenCV库结合Haar特征分类器来实现。 安装OpenCV依赖 pip install opencv-python 识别图片中的人脸并获取其坐标 import cv2 def detect_faces(image_path): # 加载预训练的Haar级联…

LabVIEW项目中硬件选型与长期需求沟通

在LabVIEW项目中&#xff0c;选择合适的硬件和有效的需求沟通是成功的关键。大品牌硬件通常具备更高的稳定性和完善的售后服务&#xff0c;而小品牌虽然看似便宜&#xff0c;却可能带来通讯不稳定、技术支持不足等问题&#xff0c;增加开发难度。同时&#xff0c;在科研类项目中…

Android音视频开发,需要学些什么?

如果你想学习 Android 音视频开发&#xff0c;以下是一些需要学习的内容&#xff1a; 一、基础知识 Java 或 Kotlin 编程语言&#xff1a;Android 开发主要使用这两种语言&#xff0c;确保你对其中一种有扎实的掌握&#xff0c;包括语法、面向对象编程概念、数据结构和算法等…

IaaS、PaaS、SaaS 与 FaaS 的对比与应用

目录 前言正文1. 基本知识2. 差异 前言 主要讲解一个区分点 正文 1. 基本知识 IaaS&#xff08;基础设施即服务&#xff09; 定义&#xff1a;IaaS 提供虚拟化的计算资源&#xff0c;如服务器、存储和网络基础设施 用户可以通过互联网访问这些资源&#xff0c;像使用物理硬件…

设计模式-结构型模式-组合模式

1.组合模式的定义 将对象组合成树形结构以表示整个部分的层次结构&#xff0c;组合模式可以让用户统一对待单个对象和对象的组合&#xff1b;其更像是一种数据结构和算法的抽象&#xff0c;其中数据可以表示成树这种数据结构&#xff0c;业务需求可以通过在树上的递归遍历算法来…

设计模式 15 解释器模式

设计模式 15 创建型模式&#xff08;5&#xff09;&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式&#xff08;7&#xff09;&#xff1a;适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式、代理模式行为型模式&#xff…

C# 什么是属性

1.属性Aproperty)是一种用于访问对象或类型的特征的成员,特征反映了状态 2.属性是字段的自然扩展 从命名上看,field更偏向于实例对象在内存中的布局,property更偏向于反映现实世界对象的特征对外:暴露数据,数据可以是存储在字段里的,也可以是动态计算出来的对内:保护字段不被…

基于机器学习的商品评论情感分析

从淘宝爬取评论 使用Selenium模拟真实登录行为&#xff0c;并爬取数据。 数据清理 如果文本中有“666“&#xff0c;”好好好“等无用词语&#xff0c;去掉评论中的标点符号。 分词 使用jieba精确模式进行分词&#xff0c;构造词典 将词汇向量化 创建词语字典&#xff0c;并…

Java技术栈 —— Spark入门(三)之实时视频流

Java技术栈 —— Spark入门&#xff08;三&#xff09;之实时视频流转灰度图像 一、将摄像头数据发送至kafka二、Kafka准备topic三、spark读取kafka图像数据并处理四、本地显示灰度图像(存在卡顿现象&#xff0c;待优化) 项目整体结构图如下 参考文章或视频链接[1] Architectur…

python自动化脚本:让工作自动化起来

Python是一种流行的编程语言&#xff0c;以其简洁和易读性而闻名。它提供了大量的库和模块&#xff0c;使其成为自动化各种任务的绝佳选择。 我们将探讨9个Python脚本及其代码&#xff0c;可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化…

Python-MNE-源空间和正模型07:修复BEM和头表面

有时在创建BEM模型时&#xff0c;由于可能出现的一系列问题(例如&#xff0c;表面之间的交叉)&#xff0c;表面需要手动校正。在这里&#xff0c;我们将看到如何通过将表面导出到3D建模程序blender&#xff0c;编辑它们&#xff0c;并重新导入它们来实现这一点。我们还将给出一…

Java 入门指南:初识 Java 并发编程

何为并发编程 并发编程是指在程序中同时执行多个任务的一种编程方式。它通常用于提高程序的性能和响应时间。 在传统的单线程编程模型中&#xff0c;每次只能执行一个任务&#xff0c;当任务阻塞或耗时较长时&#xff0c;整个程序会变得缓慢。而并发编程则可以通过同时执行多…

鸿蒙(API 12 Beta3版)【通过字节数组生成码图】

基本概念 码图生成能力支持将字节数组转换为自定义格式的码图。 场景介绍 码图生成能力支持将字节数组转换为自定义格式的码图。 例如&#xff1a;调用码图生成能力, 将字节数组转换成交通一卡通二维码使用。 约束与限制 只支持QR Code生成&#xff0c;根据纠错水平不同对…

LuaJit分析(七)LuaJit -b 命令分析

Luajit -b 命令用于生成字节码文件&#xff0c;通过之前对 -bl命令的分析&#xff1a; luajit -bl 命令分析 可知&#xff0c;-b系统的命令都通过执行 bcsave.lua脚本来完成&#xff0c; luajit -b命令最终是执行bcsave.lua脚本中的 bcsave函数&#xff0c;bcsave函数代码如下…

【已解决】win11笔记本电脑突然无法检测到其他显示器 / 无法使用扩展屏(2024.8.29 / 驱动更新问题)

我们点击 winx &#xff0c;找到设备管理器&#xff0c;查看显示适配器&#xff1a; 主要问题就出现在 NVIDIA GeForce RTX 3060 Laptop GPU 上&#xff08;虽然我把所有驱动都重新更新了一遍&#x1f62d;&#xff09;。 常用驱动更新&#xff1a; dell 驱动更新&#xff08…