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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM