MySQL Connector/C++ Fetching results
The API for fetching result sets is identical for (simple) statements and prepared statements. If your query returns one result set, use sql::Statement::executeQuery() or sql::PreparedStatement::executeQuery() to run your query. Both methods return sql::ResultSet objects. The preview version does buffer all result sets on the client to support cursors.
// ...
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
// ...
stmt = con->createStatement();
// ...
res = stmt->executeQuery('SELECT id, label FROM test ORDER BY id ASC');
while (res->next()) {
// You can use either numeric offsets...
cout << 'id = ' << res->getInt(1); // getInt(1) returns the first column
// ... or column names for accessing results.
// The latter is recommended.
cout << ', label = '' << res->getString('label') << ''' << endl;
}
delete res;
delete stmt;
delete con;
Note
Note in the preceding code snippet that column indexing starts from 1.
Note that you have to free sql::Statement, sql::Connection and sql::ResultSet objects explicitly using delete.
The usage of cursors is demonstrated in the examples contained in the download package.