Problem bei ausgabe von Ergebnissen bei MySQL
-
Huhu.
Ich habe hier eine Datenbank, die einen Eintrag vorweist.
Jetzt hab ich hier meine Maske mit den Daten. Wenn ich bei Kundennummer z.B. 1 eintippe, soll er alles das, was darunter gespeicher ist, in die entsprechenden Felder schreiben, die ich dafür schon vorbereitet habe.
Habe das so versucht
UpdateData(TRUE); MYSQL *conn; MYSQL_RES *result; MYSQL_ROW row; CString syntax; syntax.Format("SELECT * FROM kunden WHERE Kundennummer = '%s'",m_strKundennummer); mysql_query(conn, syntax); result = mysql_use_result(conn); row = mysql_fetch_row(result); m_strKundennummer = row[1]; m_strMatchcode = row[1]; UpdateData(FALSE);
compilieren tut er ohne probs, aber wenn ich dann auf den button klicke, der den quelltext ausführt kommt prompt ne fehlermeldung
jemand ne ahnung?
-
Zum einen wäre die Fehlermeldung interessant.
Zum anderen: Was für einen Datentyp hat die Kundennummer in der Datenbank. Eigentlich sind Zahlen gängiger als Strings. Wenn das eine Zahl ist, mach die einfachen Anführungsstriche weg.
-
der kommt mit einer standartfehlermeldung
das ist dieses fenster mit "senden" "nicht senden"
wenn ich dann auf Details klicke sagt er mir Access violation
die ' hab ich schon weggelassen
ist im CHAR Format
nicht das optimale, aber nur erstmal zum ausprobieren
-
Hmm, leider habe ich von der MySQL API keine Ahnung.
Aber eines kommt mir fehlerhaft vor:
MYSQL *conn; //... mysql_query(conn, syntax);
Du deklarierst einen Zeiger und arbeitest ohne weitere Initialisierungen mit ihm - bist du sicher, dass das so sein muss / darf?
-
ja richtig
moment
-
hab da jetzt noch
conn = mysql_init(NULL);
zwischen gehauen
macht aber immer noch das gleicheich möchte doch nur das ergebnis aus der DB in nem Textfeld angezeigt bekommen
-
Ich glaube, du musst erstmal sagen, welche Datenbank du nutzen willst.
In der Kommandozeile (die kann ich dann doch) wäre dasuse DATENBANKNAME;
Ist das vielleicht der Parameter vom mysql_init? (Also statt NULL.)
-
oh man
ich bin sooo stroh doof
sorry, ganz einfacher fehler
ich sollte vielleicht auch eine verbindung zur Datenbank herstellen
dann klappt sowas auch
tut mir leid
klappt jetzt
trotzdem danke
-
Grundsätzlich ist vielleicht noch zu empfehlen irgendwie die mysql_error()
einzubauen, damit das Progi nicht jedesmal abschmiert. Nebenbei wird auch noch der Fehler genauer lokalisiert und kann ausgegeben werden.
-
SChau mal in die Linux-FAQ. Da gibt es SOurce der Funktioniert