C++连接Mysql(CAPI)
连接配置:
右键项目->C/C++目录->库目录 ->添加MySQL的sever的文件
右键项目->连接C/C+±>常规->附加包含目录->添加MySQL的include文件
右键项目->连接器->输入->附加依赖项->添加libmysql.lib和libmysqld.lib,并且把这两个复制到项目目录。
MySqlClient.h
#include <vector> //自己通过c++来封装成一个简单易用的函数 class MySqlClient {private://数据库的结构体变量MYSQL mysql; public://c++方式的取别名using table = std::vector<std::vector<std::string>>;MySqlClient();~MySqlClient();/*连接数据库*username 用户名*password 密码*db_name 数据库*host [可选参数]IP地址*/void connect(std::string username, std::string password,std::string db_name,std::string host="localhost");//执行mysql语句//获取执行的结果table query(std::string cmd);//获取错误信息std::string error();//关闭数据库void close(); };
MySqlClient.cpp
#include "MySqlClient.h" #include <string> #include <iostream> //#include <cassert> //断言using namespace std;MySqlClient::MySqlClient() {//数据库的初始化 初始化失败会返回非0的值if (mysql_library_init(0, nullptr, nullptr)){cout << "初始化失败" << endl;system("pause");exit(-1);}//变量初始化, 类似c++的构造mysql_init(&mysql);//设置初始化选项mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"); }MySqlClient::~MySqlClient() {mysql_library_end(); }void MySqlClient::connect(std::string username, std::string password, std::string db_name, std::string host) {//连接数据库if (!mysql_real_connect(&mysql, "localhost", "root", "123456", "tzdb", 3306, nullptr, 0)){std::cout << "连接失败" << endl;throw "连接失败";} }MySqlClient::table MySqlClient::query(std::string cmd) {//执行失败返回非0值if (mysql_real_query(&mysql, cmd.data(), cmd.size())){cout << error() << endl;return table();}//接收查询结果MYSQL_RES *result = mysql_store_result(&mysql);//获取表的行数int rows = mysql_num_rows(result);//获取表的列数int fields = mysql_num_fields(result);MYSQL_ROW row; //typedef char** MYSQL_ROWtable data;cout << rows << ":" << fields << endl;while ((row = mysql_fetch_row(result))){data.push_back(vector<string>());for (int i = 0; i < fields; i++){ if (row[i]){data.back().push_back(row[i]);}else{data.back().push_back("");}}}return data; }std::string MySqlClient::error() {return mysql_error(&mysql); }void MySqlClient::close() {mysql_close(&mysql); }
C++连接Mysql(CAPI)相关推荐
- mysql连接编程环境_C++连接MySQL(一):环境配置和实例
摘要:MySQL API中提供了对C语言的支持,C++是兼容C语言的,那么只要稍加完善就可以让C++写出来的程序直接连接MySQL,并且编程和执行的效率都比较高. 1.为什么使用MySQL C API ...
- mysql CAPI与C++的交互
首先要保证mysql的服务是开启的才能进行对数据库的操作. mysql与C++交互有两个非常好的三方库一个是mysql++,一个是connector/C++,这两个库我尝试了mysql++不过我发现在 ...
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- SQLALchemy之Python连接MySQL
20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql
下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...
- python用django连接mysql_三分钟了解Django如何连接Mysql数据库
处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py 在views函数文件中添加register函数,来处理用户注册 ...
- mysql submission_date_UiPath如何连接MySQL
UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...
- python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
- eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...
最新文章
- 再看nf_conntrack: table full问题
- 第四天 用户管理和服务管理
- 按装oracle后 eclips提示jvm版本太低的问题
- 什么是python编程例子_案例详解:优化Python编程的4个妙招
- R 语言 Windows 环境 安装与Windows下制作R的package--Rtools
- ipfs+eth部分资料
- 阿里云三代掌门人首次同台,共叙云计算十年风云路!
- GridView动态添加模版列
- 超酷的屏幕抠图转场技巧
- PHP折算,PHP实现货币换算的方法
- 51单片机(AT89S52)设计简单计算器(4位加减乘除)
- 单龙芯3A3000-7A1000PMON研究学习-(23)撸起袖子干-分析代码前的准备工作5
- GC-MS分析方法如何定性与定量?
- 切西瓜:把一个西瓜切9刀
- 家用无线路由器的选购技巧
- 【UE】BUILD ERROR: Missing precompiled manifest for ‘****‘.
- 怎么往日历里面加时钟java,怎样在博客里添加钟表和日历
- python pyttsx3实现文字朗读
- 【云原生】企业级容器管理平台Openshift介绍
- 阿里云网盘内测资格申请-最新内测资格