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

凡科网站产品导航怎么做昆明建网站电话

凡科网站产品导航怎么做,昆明建网站电话,微信公众平台官网电话,网站建设 精品课程目录 使用软件版本信息: 1. C配置mysql相关依赖 1.1 下载 1.2 文件配置 1.3 C编译器配置 2、测试程序 使用软件版本信息: Visual Studio 2022Mysql 8.0C Connector库 8.3.0 可直接在https://download.csdn.net/download/Word_And_Me_/90826524下…

目录

使用软件版本信息:

1. C++配置mysql相关依赖

1.1 下载

1.2 文件配置

 1.3 C++编译器配置

2、测试程序


使用软件版本信息:

  • Visual Studio 2022
  • Mysql  8.0
  • C++ Connector库 8.3.0 

可直接在https://download.csdn.net/download/Word_And_Me_/90826524下载库文件

1. C++配置mysql相关依赖

1.1 下载

到MYSQL官网下载C++ Connector库MySQL :: Download Connector/C++

注:我使用mysql为8.0版本,下载C++ Connector为9.3,运行代码会出现问题:mysql_native_password not loaded errors,解决方案

原因:mysql9.0之后,mysql_native_password已经被移除了,不再使用了

解决办法:降低C++ Connector库版本为8.3  或  修改用户plugin,具体见上述引用

黄色框中为release版本,红色为debug版本,下载ZIP Archive即可

【引用:https://blog.csdn.net/weixin_74027669/article/details/137203874】

Release 版本

  • 优化编译,去除了调试信息。
  • 编译时开启了各种优化选项,以获得更好的性能。
  • 适用于生产环境部署,不包含额外的调试信息,体积较小。

Debug 版本

  • 包含调试信息,可用于在开发过程中进行调试。
  • 可能启用了更多的断言和检查,以帮助捕获潜在的问题。
  • 可能会牺牲一些性能以换取更多的调试信息和运行时检查。

1.2 文件配置

项目目录布置如下:【linux可参考博客:【模板】Linux中cmake使用编译c++程序_linux cmake编译-CSDN博客】

mysql_test/|—— bin/|—— includes/|—— libs/|—— src|—— main.cpp
  • bin 目录:存放编译后生成的可执行文件,如在 Windows 系统下的.exe文件,Linux 系统下的.out文件等。此外,还可以放置一些用于辅助项目运行的脚本文件,像 Windows 下的.bat文件、Linux 下的.sh文件,这些脚本可以用于启动程序、设置环境变量等操作 。
  • includes 目录:主要放置项目所依赖的头文件。其中有 MySQL 相关的头文件,像mysql_connection.hmysql_driver.h等,这些头文件是使用 MySQL Connector/C++ 进行数据库操作所必需的。同时,还可以包含项目自定义的头文件,例如config.h用于配置项目的一些参数,utils.h声明一些通用的工具函数。
  • libs 目录:存放项目依赖的库文件。对于 MySQL 相关的项目,会有 MySQL 库文件,如libmysqlcppconn.a(Linux 下的静态库)、libmysqlcppconn.dll(Windows 下的动态库)。如果项目还依赖其他库,比如使用了 SSL 进行安全连接,就会有libssl.alibcrypto.a等库文件。
  • src 目录:是项目源代码的主要存放地。main.cpp作为主程序源文件,负责项目的整体流程控制,例如初始化数据库连接、调用相关功能模块等。db_operations.cpp专门用于实现数据库的增删改查等操作,将数据库操作相关的代码集中在这个文件中,便于维护和管理。utils.cpp则实现一些通用的工具函数,如字符串处理函数、日志记录函数等,这些函数可以被其他源文件调用。

include 中的文件全部复制解压到项目中 includes 文件夹下

lib64/vs14 下文件复制到项目中libs文件夹下 

 对应lib64下dll文件,放到生成exe的目录下,供其调用;

注:release版本与debug版本,对应目录不同,需要进行区分

 1.3 C++编译器配置

linux 中的布置可以使用cmake,可参考博客:【模板】Linux中cmake使用编译c++程序_linux cmake编译-CSDN博客

 增加附加包含目录,将mysql中需要的头文件目录添加在里面

../includes/jdbc

../includes/mysql

../includes

添加附加库目录:../libs

添加附加依赖项:

libcrypto.lib
libssl.lib
mysqlcppconn.lib
mysqlcppconn8.lib
mysqlcppconn8-static.lib
mysqlcppconn-static.lib

将需要调用的dll文件复制到对应的release或debug文件夹

2、测试程序

// -*- coding: utf-8 -*-
#include <iostream>
#include <mysql_driver.h>
#include <mysql_connection.h>
#include <cppconn/statement.h>
#include <cppconn/resultset.h>
#include <cppconn/prepared_statement.h>
#ifdef _WIN32
#include <windows.h>
#endifint main() {try {// 设置控制台输出位utf-8,适用于windows#ifdef _WIN32SetConsoleOutputCP(65001);SetConsoleCP(65001);#endif // 创建数据库驱动实例sql::mysql::MySQL_Driver* driver;driver = sql::mysql::get_mysql_driver_instance();// 建立数据库连接sql::Connection* con;con = driver->connect("tcp://127.0.0.1:3306", "root", "123456");con->setSchema("test_db");// 设置字符集为 utf8mb4 以支持中文// con->setClientOption("characterSetResults", "utf8mb4");sql::Statement* stmt = con->createStatement();// stmt->execute("SET NAMES utf8mb4");// ================// 1. 创建表(如果不存在)// ================std::cout << "创建表 users..." << std::endl;stmt->execute("CREATE TABLE IF NOT EXISTS users (""id INT PRIMARY KEY AUTO_INCREMENT,""name VARCHAR(100) NOT NULL,""age INT,""email VARCHAR(100) UNIQUE"") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");// ================// 2. 插入数据(增)// ================std::cout << "\n插入数据..." << std::endl;sql::PreparedStatement* pstmt;// 插入第一条记录pstmt = con->prepareStatement("INSERT INTO users (name, age, email) VALUES (?, ?, ?)");pstmt->setString(1, "张三");pstmt->setInt(2, 25);pstmt->setString(3, "zhangsan@example.com");pstmt->execute();delete pstmt;// 插入第二条记录pstmt = con->prepareStatement("INSERT INTO users (name, age, email) VALUES (?, ?, ?)");pstmt->setString(1, "李四");pstmt->setInt(2, 30);pstmt->setString(3, "lisi@example.com");pstmt->execute();delete pstmt;// ================// 3. 查询数据(查)// ================std::cout << "\n查询所有用户..." << std::endl;sql::ResultSet* res = stmt->executeQuery("SELECT * FROM users");while (res->next()) {std::cout << "ID: " << res->getInt("id")<< ", 姓名: " << res->getString("name")<< ", 年龄: " << res->getInt("age")<< ", Email: " << res->getString("email") << std::endl;}delete res;// ================// 4. 更新数据(改)// ================std::cout << "\n更新数据..." << std::endl;pstmt = con->prepareStatement("UPDATE users SET age = ? WHERE name = ?");pstmt->setInt(1, 26);pstmt->setString(2, "张三");pstmt->execute();delete pstmt;// 查询更新后的数据std::cout << "\n更新后的用户数据:" << std::endl;res = stmt->executeQuery("SELECT * FROM users");while (res->next()) {std::cout << "ID: " << res->getInt("id")<< ", 姓名: " << res->getString("name")<< ", 年龄: " << res->getInt("age")<< ", Email: " << res->getString("email") << std::endl;}delete res;// ================// 5. 删除数据(删)// ================std::cout << "\n删除数据..." << std::endl;pstmt = con->prepareStatement("DELETE FROM users WHERE name = ?");pstmt->setString(1, "李四");pstmt->execute();delete pstmt;// 查询删除后的数据std::cout << "\n删除后的用户数据:" << std::endl;res = stmt->executeQuery("SELECT * FROM users");while (res->next()) {std::cout << "ID: " << res->getInt("id")<< ", 姓名: " << res->getString("name")<< ", 年龄: " << res->getInt("age")<< ", Email: " << res->getString("email") << std::endl;}delete res;// 清理资源delete stmt;delete con;}catch (sql::SQLException& e) {std::cout << "# ERR: SQLException in " << __FILE__;std::cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << std::endl;std::cout << "# ERR: " << e.what();std::cout << " (MySQL error code: " << e.getErrorCode();std::cout << ", SQLState: " << e.getSQLState() << " )" << std::endl;}return 0;
}


文章转载自:

http://iEFU5moF.bmbnc.cn
http://AnhRxsd7.bmbnc.cn
http://nxYguP1N.bmbnc.cn
http://HfksoB30.bmbnc.cn
http://cpD4AJOv.bmbnc.cn
http://3CRpvfFm.bmbnc.cn
http://77X173V7.bmbnc.cn
http://rQUL8P36.bmbnc.cn
http://U16IQjEA.bmbnc.cn
http://w94qSxGr.bmbnc.cn
http://9yANCnqH.bmbnc.cn
http://3HpOrIzh.bmbnc.cn
http://ku7vtU0J.bmbnc.cn
http://EZntMe60.bmbnc.cn
http://LqDG8lGj.bmbnc.cn
http://Y7u34YlG.bmbnc.cn
http://8zxlXtHd.bmbnc.cn
http://NHYkH5uw.bmbnc.cn
http://5e5zDn6o.bmbnc.cn
http://5pDvoAUD.bmbnc.cn
http://XOvEHWDk.bmbnc.cn
http://Zi6Iw5j4.bmbnc.cn
http://mHcrJdmi.bmbnc.cn
http://KWB3Tgqc.bmbnc.cn
http://fLNNaIA6.bmbnc.cn
http://Ii1ueUPF.bmbnc.cn
http://94YERfuB.bmbnc.cn
http://LOHEJsKL.bmbnc.cn
http://c4TbQkYm.bmbnc.cn
http://4DITO0cR.bmbnc.cn
http://www.dtcms.com/wzjs/778160.html

相关文章:

  • 网站开发设计合同范本高级网站开发工程师证书
  • 哈尔滨制作网站的公司最新新闻国内大事件
  • 网站页面示意图怎么做免费企业cms
  • 个人博客网站下载如何自建公司网站
  • 做外贸的专业网站动漫做h免费网站有哪些
  • 手机网站给一个wordpress插件设置
  • 东莞微信网站建设网站开发的费用申请
  • 制作手机网站什么软件网站建设中的智能元素
  • 网站建设与管理课程实训异次元wordpress模板
  • 企业网站设计建设对于网站建设的体会
  • 怎么做网站的防盗链wordpress在线搭建
  • 网站 粘度7电脑不能打开wordpress
  • 购买空间网站哪个好网站需求分析的主要内容
  • 网站建设教学廊坊国税局网站里打印设置如何做
  • ui图标素材网站佛山企业快速建站
  • 北京网站建设手机app电子商务关键词排名工具
  • 机械毕业设计代做网站贵州省城乡和住房建设厅官方网站
  • 加油站建设专业网站网站跳转怎么办
  • 谁有人和兽做的网站?京东物流网站建设策划书
  • 四川手机网站有哪些广元北京网站建设
  • 学校资源网站 建设方案seo优化文章网站
  • 给几个网站谢谢网站长图怎么做
  • 南京移动网站设计网页制作入门视频教程
  • 陈村建网站手机上做整蛊网站
  • 建设银行投诉处理网站用手机如何制作网页链接
  • 广州网站建设网站推广做景观设施的网站
  • 集团响应式网站建设要做好网络营销首先要
  • 网件路由器重置织梦系统seo网站模板
  • 江苏网站建设效果好珠海建网站
  • 酉阳网站制作天津市招标投标信息网