mysql connector c++ 1.1 API初步体验

1,常用的头文件

#include <mysql_connection.h>
#include <mysql_driver.h>
#include <cppconn/driver.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#include <cppconn/resultset.h>

2,创建连接

#define DBHOST "tcp://127.0.0.1:3306"
#define USER "username"
#define PASSWORD "pwd" sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
sql::Statement *stmt; driver = sql::mysql::get_mysql_driver_instance();
con = driver->connect(DBHOST, USER, PASSWORD);

3,选择要使用的database的名字

con->setSchema("database_name");

4,设置连接的属性,例子是设置连接的字符集

con->setClientOption("characterSetResults", "utf8");

5,判断连接是否建立成功

if(con->isValid()){
std::cout << "connected!" << std::endl;
}

6,执行insert语句

sql::PreparedStatement* pstmt;
std::string sqlOp="insert into user(name,nickname,password, phone) values(?,?,?,?)";
pstmt=con->prepareStatement(sqlOp);
pstmt->setString(1,"李四2");
pstmt->setString(2,"aaaa男2");
pstmt->setString(3,"aaaa!");
pstmt->setString(4,"123123");
pstmt->execute();

7,执行查询语句

sql::Statement *stmt;
sql::ResultSet *res;
std::string qry = "select * from user";
stmt = con->createStatement();
//选择使用的数据库的名字
stmt->execute("use cloud_disk");
res = stmt->executeQuery(qry);
while(res->next()){
std::cout << res->getInt(1);
std::cout << res->getString(2) << std::endl;
}

8,释放资源

  • 除了sql::mysql::MySQL_Driver *driver指针,都需要手动调用delete释放

    delete res;
    delete stmt;
    delete con;

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

最新文章

  1. single-write-database-connection
  2. Spring MVC启动过程
  3. java 代理的三种实现方式
  4. easyUI框架之学习3--表格datagrid
  5. 查看图片真正的格式,在不知道扩展名的情况下区分是jpeg还是bmp
  6. hdu 4381(背包变形)
  7. test-from
  8. Oracle数据库基础知识_字符串操作相关2
  9. 网络流初步——增广路算法(EK)模板
  10. poj2826(线段相交)
  11. mysql数据库和mongodb数据库的相关操作以及两个数据库的区别
  12. windows 下编译 OpenSSL1.0.2l 版
  13. Java Web前端到后台常用框架介绍
  14. Servlet 上传下载文件
  15. hadoop 透明加密
  16. inode满引发不能写文件的问题
  17. Python cx_Oracle 安装小记
  18. Python3 安装 PyQt5 -pycharm 环境搭建
  19. nmap扫描工具
  20. Python标准库中的生成器函数

热门文章

  1. Cobalt Strike系列教程第四章:文件/进程管理与键盘记录
  2. 射频IC卡和IC卡读卡器的成本分析
  3. CodeForces - 1230D(思维+位运算)
  4. Jenkins实现单一安卓项目打包多个module填坑实录
  5. ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE
  6. python--各种锁机制归纳整理
  7. 【文本处理命令】之sed命令详解
  8. 16-DRF工程搭建与序列化器
  9. Numpy数值类型与数值运算-03
  10. HTML5 Canvas 为网页添加文字水印