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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...