首先要保证mysql的服务是开启的才能进行对数据库的操作。

mysql与C++交互有两个非常好的三方库一个是mysql++,一个是connector/C++,这两个库我尝试了mysql++不过我发现在中国mysql++的很多资料缺乏,很多都是讲了一半剩下的就没了,除非去看英文文档,可惜我英文不算好,所以我果断先放弃试用三方库还是老老实实的用用mysql官方的Capi库。

1、下载mysql server,把其中的include和lib拷贝到你的工程项目里,并引用。

2、在进行数据库操作的时候我们需要声明一个MYSQL 的数据结构,要包含mysql.h,但是你突然发现会出现编译报错,原来mysql.h里引用了windows.h的一些东西,所以你要先包含windows.h才能正常使用mysql CAPI.

#include <windows.h>

#include"mysql.h"

void main()

{

MYSQL mySql;

我们必须先调用mysql的初始化

mysql_init(&mysql);

然后再连接数据库

char* hostIp="127.0.0.1";这个不用我说了吧

char* userName="root";默认的数据库用户名,可以自定义

char* pwd="1";用户密码

char* port=“3306”;端口名

char* dbName="demo";数据库名

mysql_real_connect(&mySql,hostIp,userName,pwd,dbName,port,NULL,0);

链接数据库,返回MYSQL的指针,最后两个参数依次为连接类型,MySQL运行成ODBC数据库的标记。

现在我们进行增、删、改、查的基本操作

查询

char* query="select * from demo.temp";由于我没有先使用use 数据库名,所以需要用数据库名来引用表名

mysql_real_query(&mySql,query,(unsinged long)strlen(query));

执行之后会产生一个结果集

MYSQL_RES* res;

mysql_use_result(res);返回查询的结果集也可使用mysql_store_result(MYSQL_RES*)区别请参考官方手册

http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-function-overview

通过循环检索每一行读出每行数据

MYSQL_ROW row;

while((row=mysql_fetch_row(res))!=NULL)
    {
          for (int i=0;i<mysql_num_fields(res);i++)
         {
             cout<<row[i]<<endl;
         }
    }

注意每次使用完结果集时,请释放结果集

mysql_free_result(res);

修改

queryTemp="update demo.temp set xxxx=xxxx where id=xx";
      int isSuccse=mysql_real_query(&mySql,queryTemp,(unsigned long)strlen(queryTemp));
      if (isSuccse)
      {
         cout<<"错误"<<endl;
      }

删除

queryTemp="delete from demo.temp where id=xx";

同上

增加

queryTemp="insert demo.temp values(id,xx,xxx)";

同上

}

mysql CAPI与C++的交互相关推荐

  1. 使用mysql数据库与go进行交互

    database/sql database/sql是golang的标准库之一,它提供了一系列接口方法,用于访问关系数据库.它并不会提供数据库特有的方法,那些特有的方法交给数据库驱动去实现. datab ...

  2. 周四见-王晓伟 |MySQL与数据仓库的数据交互

    周四见   公开课系列 We,知数堂 习惯用实力介绍自己-我们只分享干货 重磅福利来袭 2018年7月12日,20:30-22:00 周四见 不见不散! 主讲嘉宾:王晓伟   知数堂<大数据实战 ...

  3. python 与Mysql ,Mongodb以及Redis的交互

    1. Python 与Mysql的交互 首先python 与 mysql的交互要依赖于第三方模块pymysql,所有先安装pymysql pip install pymysql 然后实现用python ...

  4. mysql capi函数详解_技术分享|MySQLCAPI参数MYSQL_OPT_READ_TIMEOUT的一些行为分析

    作者:戴岳兵 MYSQL_OPT_READ_TIMEOUT 是 MySQL c api 客户端中用来设置读取超时时间的参数.在 MySQL 的官方文档中,该参数的描述是这样的: MYSQL_OPT_R ...

  5. mysql capi函数详解_CAPI函数描述(A-F)

    25.2.3.1. mysql_affected_rows() my_ulonglong mysql_affected_rows(MYSQL *mysql) 描述 返回上次UPDATE更改的行数,上次 ...

  6. mysql capi函数详解_CAPI函数描述(G-N)

    25.2.3.26. mysql_get_character_set_info() void mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET ...

  7. Mysql 增删改查 Python交互01

    1. 数据库 - 1. 数据库 :存储数据的仓库 - 2. 数据库软件分类 :* 1. MySQL,Oracle,SQL Server,MongoDB,DB2,MariaDB,Redis...* 2. ...

  8. Slog3_如何使用Python与Mysql进行数据交互

    ArthurSlog SLog-3 Year·1 Guangzhou·China July 9th 2018 自己的梦想需要你自己去实现 开发环境MacOS(High Sierra 10.13.5) ...

  9. mysql历史命令_MySQL交互技巧

    本文介绍一些与客户端程序mysql进行交互的技巧,这些技巧能帮助我们更有效率地使用它,减少文字输入.此外,还会描述"怎样更加方便地连接到服务器",以及"如何在不经手工输入 ...

最新文章

  1. spring单元测试
  2. 打包caddy为docker镜像
  3. 安卓ps2模拟器_安卓PSP模拟器评测:合金装备 和平步行者
  4. IntelliJ IDEA for Windows 默认模式下的快捷键
  5. 演示:外部全局地址与外部局部地址的使用案例
  6. 3D游戏建模就是那么简单
  7. C++_类和对象_对象特性_拷贝构造函数调用时机---C++语言工作笔记042
  8. 2022电大国家开放大学网上形考任务-劳动与社会保障法非免费(非答案)
  9. Sublime增加GBK编码格式
  10. php万能密码在线视频讲解,万能密码
  11. 界面音效以及3D音效通过参数控制声音加载声音资源包
  12. ADS1256驱动程序
  13. 1949年的国庆节(10月1日)是星期六.......
  14. 基于SpringBoot生鲜商城
  15. 【C#】记录一次上位机软件界面闪退分析及解决方案
  16. DSP/DMP/SSP/RTB概念解释
  17. 相机拍照时预览卡顿问题
  18. 《HTML5 Canvas学习笔记(10)》数钱数到手抽筋
  19. CSS禅意花园——CSS设计的绝美境界
  20. 程序员刚入职很痛苦_程序员做梦都会笑醒的10件事

热门文章

  1. JAVA————简单的图形绘制界面(教程)
  2. C Primer Plus(6) 中文版 第5章 运算符、表达式和语句 5.5 类型转换
  3. VTK(The Visualization Toolkit)加载stl模型
  4. 小红书笔记无法展示是什么原因?让我们来看看吧
  5. 高端运动耳机哪个品牌最好、最好的运动耳机品牌排行
  6. 企业网站用什么服务器操作系统?
  7. 微信扫码登陆(JAVA)
  8. 机器学习项目-垃圾邮件分类-KNN-SVM-DT-RF-GBDT-Bayes
  9. 【JavaScript】预解析
  10. 生成帮助文档(html或chm格式)