MySql Connector/C++8结果集处理Demo

#include <iostream>
#include <exception>

#include <mysqlx/xdevapi.h>


using std::cout;
using std::endl;


int main(void)
try 
{
    //uri: mysqlx://user:password@host:port/db_name
    const char *from_uri = "mysqlx://root:mysql@localhost:33060/D_COMPANY?ssl-mode=disabled";
    mysqlx::Session sess(from_uri);

    mysqlx::SqlResult rset = sess.sql("SELECT * FROM T_DEPT").execute();

    mysqlx::Row row;
    while (rset.hasData()) { //判断结果集中是否有数据
        row = rset.fetchOne(); //从结果集中提取一行数据,同时此函数会自动指向下一行数据
        if (row.isNull()) { //判断此行是否为空
            cout << "row is null." << endl;
            break;
        }

        //提取行中每一列的数据,注意下标从 0 开始
        //使用C++中的类的强制转换
        cout << "  deptno: " << int(row.get(0)) << endl;
        cout << "deptname: " << std::string(row.get(1)) << endl;
        cout << " deptloc: " << std::string(row.get(2)) << endl;

#ifdef OTHER
        cout << "  deptno: " << row.get(0).get<int>() << endl;
        cout << "deptname: " << row.get(1).get<std::string>() << endl;
        cout << " deptloc: " << row.get(2).get<std::string>() << endl;
#endif 
    }

    sess.close();
    cout << "Done!" << endl;
}
catch (mysqlx::Error &err) 
{
    cout << "ERROR : " << err << endl;
    return -1;
}

转载于:https://www.cnblogs.com/Focus-Flying/p/9316815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值