C++ und mySQL
-
MySQL und C++
Hallo,ich möchte meinem Datenbankbefehl in C++ eine Variable 'name' übergeben.
Wie funktioniert das?//Variablen deklarieren char name[20] = "haus"; mysql_server_init(argc, argv, (char **)server_groups); two = db_connect("NULL"); db_do_query(two, "show databases"); db_do_query(two, "create database ?Variable? ");
Gruß
Matthias
-
Du musst die Zeichenkette vorher entsprechend bearbeiten:
#include <string> using namespace std; ... string sql ("create database"); sql += " "; sql += name; db_do_querry (sql.c_str ());
Die Stringklasse aus der Bibliothek ist dafür ziemlich praktisch
/Typo
-
Hallo,
danke, hat super geklappt.
Wie funzt das eigentlich mit CString?
CString sql ("create database"); sql += " "; sql += name; db_do_querry (sql.c_CStr ());
geht das so?
Gruß
Frostie
-
In Standard-C++ gibt es kein CString.
-
für CString benötigst du keine Funktion um an die Zeichenkette zu kommen bzw.
an einen const char * auf den String, dies geschieht dort implizit, schreibe
einfach
db_do_querry (str); // bei CString
-
Also so:
#include <string> using namespace std; ... CString sql ("create database"); sql += " "; sql += name; db_do_querry (str);
Wie soll das gehen? Sollte ich nicht anstatt str sql in die Klammer setzen?
Gruß
Frostie
-
klar sollst du das, SirLant hat str stellvertretend für deinen Variablennamen genommen
Aber CString gibt es in Standard C++ nicht, wie schon ein Vorredner gesagt hat.
-
Ich weiß, dass CString KEIN Standard C++
hab nur nachgefragt, da ich in Standard C++ mit string
und zusätzlich in MFC mit CString arbeiten muß.
Ich wollte mir den Thread im MFC Forum sparen.Danke
Gruß
Frostie