Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Bei dieser Vorgehensweise ist zu beachten, ob CString im verwendeten Umfeld Unicode verwendet oder nicht. Wenn es das tut, erfüllt der char * Zeiger auf die Zeichekette unter Umständen nicht die Erwartungen, da Unicode 2 Byte pro Zeichen verwendet.

Geschrieben

Meine Mysqlklasse arbeitet nur mit Char*. Das heißt, dass meine SQL anweisung in einer char* variable stehen muss.. So.. ich will aber mir meinen SQLstring mir dynamisch zusammenbaun.. je nach dem, was ich in einer checkbox auswähle.. und das kann ich doch nur mit CStrings machen.. Das ich an einen bereits vorhandenen string was dranhänge..

ich machs jetzt mit einem CString.. sprich..


sqlsuchstring = "SELECT x from y where z = 1";


	kwvon = m_kwvonV.GetString();

	if(kwvon.IsEmpty() == false)

	{

		sqlsuchstring += " and a.kw >= ";

		sqlsuchstring += kwvon;

	}



so.. nur wie mach ich jetzt aus diesem string ein char*

sorry.. ich kanns einfach net :-(

Geschrieben
so.. nur wie mach ich jetzt aus diesem string ein char*

sorry.. ich kanns einfach net :-(

Bist du danz sicher, dass ein const char* nicht reicht? Falls du nicht UNICODE definiert hast, sollte das automatisch gehen. Wie sieht die Funktion aus, für die zu char* zu brauchen glaubst?

Warum hat CString::GetBuffer bzw. CString::operator LPCTSTR nicht funktioniert, bzw. hast du das überhaupt ausprobiert?

Geschrieben

Du kannst anstatt CString auch std::string aus der STL nehmen. Mit der Methode c_str() kannst Du Dir ganz einfach einen Zeiger auf einen C-String geben lassen.

Wenn Dir die maximale Länge der SQL Anfrage bekannt ist, kannst Du auch einen entsprechend großen Buffer anlegen und mit den ganz normalen C-Funktionen den String zusammensetzen.

Geschrieben
MYSQL_RES* autoinfo_db::query(const char *querystring)

Falls du nicht UNICODE definiert hast, brauchst du da gar nichts umzuwandeln. In diesem Fall hat CString einen Konvertierungsoperator nach const char*. Du kannst also einfach den CString dieser Funktion als Parameter mitgeben.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...