zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    前端周刊第一期
    Java CAS 原理详解
    【转载】Linux系统调用SYSCALL_DEFINE详解
    简述伪共享和缓存一致性MESI
    exchange发邮件
    Flutter屏幕适配(自适应)方案
    dart类初始化 future方案
    windows下postgresql自启动
    How can I call an async method in StatelessWidget.build method?
    实战分层架构
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/11547900.html
Copyright © 2011-2022 走看看