Ich kenne mich halbwegs mit MySQL unter PHP aus und komme (meistens) auch damit klar Anwendungen für Windows in C++ zu coden.
Jetzt hätte ich gerne einen MySQL-Zugriff aus einer C++-Anwendung heraus und damit breche ich mir einen ab.
Ich habe diesen MySQL C++ Connector installiert
https://dev.mysql.com/downloads/connector/cpp/
und mir ein paar Beispiele zu Queries angeschaut.
Das klappt im Prinzip schon, nur kämpfe ich halt mit der Syntax, sobald mein Query nur ein kleines bisschen anders ist als im Beispiel.
Unter PHP mache ich z.B.:
Unter MySQL++ ist das extrem viel umständlicher
Trotzdem habe ich es irgendwie dann doch geschafft die Queries die ich überlicherweise brauche auf die Reihe zu bekommen, auch wenn mich die Type-Conversions von string und wstring zu int und UINT irgendwann in den Wahnsinn treiben werden.
Mein aktuelles Problem klingt nun mehr als lächerlich, denn wo ich die Abfrage in Schleifen mit 100ten Datensätzen auf die Reihe bekommen habe, schaffe ich es nicht die MySQL++ Syntax für einen einzelnen Wert auf die Reihe zu bekommen.
In PHP so einfach, weil PHP die ganzen Conversions automatisch macht:
In MySQL++ stehe ich völlig auf dem Schlauch, mit welcher Syntax ich den auto-increment Wert in eine UINT-Variable bekommen könnte.
Jetzt hätte ich gerne einen MySQL-Zugriff aus einer C++-Anwendung heraus und damit breche ich mir einen ab.
Ich habe diesen MySQL C++ Connector installiert
https://dev.mysql.com/downloads/connector/cpp/
und mir ein paar Beispiele zu Queries angeschaut.
Das klappt im Prinzip schon, nur kämpfe ich halt mit der Syntax, sobald mein Query nur ein kleines bisschen anders ist als im Beispiel.
Unter PHP mache ich z.B.:
PHP:
$query = mysql_query("SELECT * FROM `table`");
while($row = mysql_fetch_object($query))
{
$data[$row->name] = $row->content;
}
mysql_free_result($query);
Unter MySQL++ ist das extrem viel umständlicher
C++:
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD *fields;
UINT numFields;
string query = "SELECT * FROM `table`";
mysql_real_query(&MySqlConnection,query.c_str(),query.size());
result = mysql_use_result(&MyPGlobal_MySqlConnection);
while((row = mysql_fetch_row(result)))
{
numFields = mysql_num_fields(result);
fields = mysql_fetch_fields(result);
for(UINT FieldCount = 0; FieldCount < numFields; FieldCount++)
{
// usw., usw.
}
}
Trotzdem habe ich es irgendwie dann doch geschafft die Queries die ich überlicherweise brauche auf die Reihe zu bekommen, auch wenn mich die Type-Conversions von string und wstring zu int und UINT irgendwann in den Wahnsinn treiben werden.
Mein aktuelles Problem klingt nun mehr als lächerlich, denn wo ich die Abfrage in Schleifen mit 100ten Datensätzen auf die Reihe bekommen habe, schaffe ich es nicht die MySQL++ Syntax für einen einzelnen Wert auf die Reihe zu bekommen.
In PHP so einfach, weil PHP die ganzen Conversions automatisch macht:
PHP:
$result = mysql_query("
SHOW TABLE STATUS LIKE 'table'
");
$data = mysql_fetch_assoc($result);
$next_increment = $data['Auto_increment'];
In MySQL++ stehe ich völlig auf dem Schlauch, mit welcher Syntax ich den auto-increment Wert in eine UINT-Variable bekommen könnte.