• mysql connector c++ 1.1 API初步体验


    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

  • 相关阅读:
    【转】我该 不该学习VULKAN
    游戏开发内功秘籍记录
    VS 配置外部DLL的引用路径【可执行文件的环境路径】
    OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱
    C++风格与C风格文件读写效率测试-vs2015,vs2017
    【转】矩阵的几何解释
    android 线程间通信
    android 网络
    安卓 碎片 如何实现类似 活动 栈的 进栈 出栈
    安卓 内容提供者 观察者 解析器
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/11547900.html
Copyright © 2020-2023  润新知