als erstes hast du einen ptr auf ein "sql::Driver" objekt.
Code:
sql::Driver* gDriver = nullptr;
...
gDriver = get_driver_instance();
weiter gehts mit einer connection
Code:
sql::Connection* gConnection = nullptr;
das driver objekt hat eine member func namens "connect", ich denke der name erklärt schon was die macht. diese funktion returned einen ptr des connection objekts.
Code:
gConnection = gDriver->connect(mysql_host, mysql_user, mysql_password);
damit wäre schon eine verbindung hergestellt.
wenn man jetzt eine database auswählen will ist das auch noch recht easy:
Code:
gConnection->setSchema(mysql_database);
jetzt zu dem wichtigen kram wie queries :)
den kann man z.b. auf diese art ausführen:
Code:
sql::PreparedStatement* statement = gConnection->prepareStatement("SELECT * FROM table WHERE 1"); // query vorbereiten, im nächsten beispiel mehr ;)
sql::ResultSet* result = statement->executeQuery(); // und ausführen
man kann das auch noch etwas fortführen:
Code:
sql::PreparedStatement* statement = gConnection->prepareStatement("SELECT * FROM table WHERE name = ?"); // query vorbereiten, das ? ist ein platzhalter!
statement->setString(1,mysql_name); // den platzhalter mit dem string 'mysql_name' ersetzen!
sql::ResultSet* result = statement->executeQuery();
verarbeiten von dem ergebnis
Code:
if(result->next()) // im prinzip ist das mysql_fetch_row
varString = result->getString(1); // alternativ kann die 1 auch der name eines fields sein!
wenn eines der objekte nicht mehr benötigt wird einfach mit "delete" löschen :)
ist zwar auch nicht das beste was man bekommen kann, mehr habe ich dazu allerdings auch nicht rausgefunden :o