Mysqlquery mit msvc++6

shrewm

Mitglied
Hallo, ich habe ein Problem mit mysql++ und MSVC++6.0
Daten in eine Tabelle schreiben funktioniert einwandfrei. Das habe ich so gemacht:
Code:
char ausfuehren[255];
conn = mysql_init(NULL);
mysql_real_connect(conn,host,username,password,database,0,NULL,0);

cin  >> nickname;
cin  >> realname;
cin  >> passwort;

befehl = "insert into xmember (realname, nickname, pass) values ('"+realname+"', '"+nickname+"', '"+passwort+"')";
strcpy(ausfuehren,befehl.c_str());
mysql_query(conn,ausfuehren);
mysql_store_result(conn);
Wie gesagt, das funktioniert.

Wenn ich aber jetzt eine Reihe aus der Tabelle updaten will, funktioniert es nicht. Hab gedacht, man könnte es genau wie mit INSERT machen, aber da hab ich mich wohl geirrt. Hier mal mein Code dazu:
Code:
char ausfuehren[255];
conn = mysql_init(NULL);
mysql_real_connect(conn,host,username,password,database,0,NULL,0);

cin << usr_pass;
cin << member_id;

befehl = "UPDATE xmember SET pass = '"+usr_pass+"' WHERE member_id = '"+member_id+"'";
strcpy(ausfuehren,befehl.c_str());
mysql_query(conn,ausfuehren);
mysql_store_result(conn);
Die Angaben zur Tabelle stimmen alle und ich glaube dass der Fehler bei mysql_store_result(conn); liegt. Muss ich eine andere Funktion benutzen um den SQL-Befehl update zu verwenden oder is da einfahc nur ein Denkfehler? ;)
 
Hallo,
hast du dir deine sql Abfrage "ausfuehren" schonmal direkt nach dem strcpy ausgeben lassen
und direkt an der DB getestet.
Das sollte der erste Weg sein, bevor du ewig nen Bug im Programm suchst,
dann kannst du dir wenigstens sicher gehen das der Fehler an deinem query liegt, oder
auch nicht...

Gruß

RedWing
 
Ja hab ich, query war in ordnung - hab nur an einer anderen Stelle ein dummen Fehler gemacht. Mit mysql_error(); kann man sich die Fehler anschauen. Hatte an einer anderen Stelle die Connection zum Server beendet. War ja klar dass es dann nich geht :)
Danke trotzdem.
 
Zurück