Umsteigerfrage: "Dynamisches" SQL-Statement in C++
-
Hallo community,
bisher habe ich nur php-Erfahrung und daher scheitere ich momentan an dem folgenden Problem: Ich frage bisher in PHP Dinge ab wie "SELECT * FROM x WHERE y = '".$somevalue."'"; Dabei ist somevalue immer unterschiedlich und wird meist im Skript vorher ermittelt, wie z.B. eine user_id. Nun meine Frage: wie geht so etwas in C/C++? Ich bin schon soweit, dass ich auf die MySQL-DB komme und auslesen und ausgeben kann. Nur wie baue ich da Statements zusammen?
Ich brauche z.B. sowas hier:
char query_a[] = "SELECT schiff_vorhanden_typ, schiff_vorhanden_status FROM sh_schiffe_vorhanden WHERE schiff_vorhanden_user_id = "; char query_b = user_id // das Problem! char query_c = "AND schiff_vorhanden_start_pid = 12" mysql_query(conn, query); res_set = mysql_store_result(conn);
Wie bekomme ich diese chars zusammen? Ich habs schon mit strings versucht, aber die mysql_query und auch die mysql_real_query brauchen ja ein const char. Kann mir hier jemand weiterhelfen?
Vielen Dank!
Grüße
Temruk
-
Setze es per strings zusammen und übergebe sie dann mit <string>.c_str() an die jeweilige Funktion.
-
#include <sstream> // ... std::ostringstream ostr; ostr << "SELECT schiff_vorhanden_typ, schiff_vorhanden_status FROM sh_schiffe_vorhanden WHERE schiff_vorhanden_user_id = "; ostr << user_id; ostr << "AND schiff_vorhanden_start_pid = 12"; mysql_query(conn, ostr.str().c_str()); // ostr in const char
-
Ganz herzlichen Dank für die schnelle und kompetente Hilfe