连接配置:
右键项目->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)相关推荐

  1. mysql连接编程环境_C++连接MySQL(一):环境配置和实例

    摘要:MySQL API中提供了对C语言的支持,C++是兼容C语言的,那么只要稍加完善就可以让C++写出来的程序直接连接MySQL,并且编程和执行的效率都比较高. 1.为什么使用MySQL C API ...

  2. mysql CAPI与C++的交互

    首先要保证mysql的服务是开启的才能进行对数据库的操作. mysql与C++交互有两个非常好的三方库一个是mysql++,一个是connector/C++,这两个库我尝试了mysql++不过我发现在 ...

  3. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  4. SQLALchemy之Python连接MySQL

    20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...

  5. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  7. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  8. mysql submission_date_UiPath如何连接MySQL

    UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...

  9. python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  10. eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...

最新文章

  1. 再看nf_conntrack: table full问题
  2. 第四天 用户管理和服务管理
  3. 按装oracle后 eclips提示jvm版本太低的问题
  4. 什么是python编程例子_案例详解:优化Python编程的4个妙招
  5. R 语言 Windows 环境 安装与Windows下制作R的package--Rtools
  6. ipfs+eth部分资料
  7. 阿里云三代掌门人首次同台,共叙云计算十年风云路!
  8. GridView动态添加模版列
  9. 超酷的屏幕抠图转场技巧
  10. PHP折算,PHP实现货币换算的方法
  11. 51单片机(AT89S52)设计简单计算器(4位加减乘除)
  12. 单龙芯3A3000-7A1000PMON研究学习-(23)撸起袖子干-分析代码前的准备工作5
  13. GC-MS分析方法如何定性与定量?
  14. 切西瓜:把一个西瓜切9刀
  15. 家用无线路由器的选购技巧
  16. 【UE】BUILD ERROR: Missing precompiled manifest for ‘****‘.
  17. 怎么往日历里面加时钟java,怎样在博客里添加钟表和日历
  18. python pyttsx3实现文字朗读
  19. 【云原生】企业级容器管理平台Openshift介绍
  20. 阿里云网盘内测资格申请-最新内测资格

热门文章

  1. noj22Dijkstra算法
  2. Python书还有这些值得读
  3. 554 DT:SPM 163 smtp3解决方案
  4. AT89C51单片机之点亮LED
  5. python音乐播放器代码_pygame编写音乐播放器的实现代码示例
  6. 从协方差分析看回归与方差分析的联系
  7. linux系统MBR分区
  8. Comet OJ - Contest #5 A-E
  9. ueditor编辑器使用总结
  10. 疫情之下,餐饮企业该如何闯关?