Используйте MySQL C ++ Connector. Вам могут понадобиться следующие заголовки.
#include "mysql_connection.h"
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
Как прокомментировал tadman, использование std :: string является предпочтительным.
struct Employee {
int employeeNumber;
string lastName;
/* so on */
};
Эта вспомогательная функция пригодится для копирования набора результатов вашему сотруднику. struct.
void copyResultsetToEmployee(const std::unique_ptr<sql::ResultSet>& res, Employee& employee)
{
employee.employeeNumber= res->getInt("ID");
employee.lastName = res->getString("Lastname");
/* so on */
}
Это используемый случай:
bool getEmployeeFromId(int id, Employee& employee)
{
if (!sqlConnected) return false;
std::ostringstream os;
os << "SELECT * FROM MyTable WHERE "
<< "Id = \"" << id << "\"";
sql::SQLString cmd = sql::SQLString(os.str().c_str());
std::unique_ptr<sql::ResultSet>res(stmt->executeQuery(cmd));
bool present = false;
do {
while (res->next()) {
present = true;
copyResultsetToEmployee(res, employee);
}
} while (stmt->getMoreResults());
return present;
}