mysql_row in listbox ausgeben

StonedMind

Mitglied
Hallo,

ich programmiere eine GUI-Anwendung mit Visual C++ 2008 Express, womit ich auf eine MySQL-Datenbank zugreife.
Die Verbindung zur Datenbank klappt, ich kann auch schon eine Query an die Datenbank schicken. Das Ergebnis dieser Query speicher ich in der Variable/String recordset_row vom Typ MYSQL_ROW.

Nun möchte ich diese Variable/String in einer Listbox ausgeben:
Code:
listBox1->Items->Add(recordset_row);

Dabei erscheint folgende Fehlermeldung:
error C2664: 'System::Windows::Forms::ListBox::ObjectCollection::Add' : cannot convert parameter 1 from 'MYSQL_ROW' to 'System::Object ^'

So wie ich das verstehe müsste ich meine Variable recorset_row in einen anderen Typ umkonvertieren. Wie geht das? Oder gibt es eine bessere Möglichkeit das Ergebnis einer SQL-Abfrage in einer ListBox auszugeben?

Vielen Dank schon mal im Voraus für Eure Bemühungen

MfG
Andy
 
Zuletzt bearbeitet:
Hallo,

hat den keiner ne Idee woran das liegen könnte oder wie ich das Problem zu lösen hab? ich google mich schon die ganze zeit durch und finde nichts richtiges.
mach ich etwas grundlegendes falsch?

MfG
Andy
 

Also ich habe leider noch nichts mit Datenbanken zu tun gehabt würde aber sagen wenn du das Ergebnis in einen "String" Speicherst dann müsste es funktionieren. Wenn du den Typ "MYSQL_ROW" in String um Konvertieren willst, muss die Anweisung ungefähr so aussehen.

C++:
listBox1->Items->Add(Convert::ToString(recordset_row));

Achja wenn du mit Visual C++ 2008 Express Programmierst dann ist es bestimmt C++/CLI und das kommt hier in das .NET->Windows Forms (Forum). Wenn ich es richtig verstanden habe ;)

Gruß
Rudolf Grauberger
 
Hi,

also nun erhalte ich keine Fehlermeldung mehr, sondern folgende Warnung:

warning C4800: 'MYSQL_ROW' : forcing value to bool 'true' or 'false' (performance warning)

Und in der Listbox steht nun entweder 'True' oder 'False'.
Woran könnte das liegen?
Gibt es überhaupt eine Möglichkeit, eine Variable vom Typ MYSQL_ROW in eine ListBox auszugeben?

Vielen Dank aber für Deine Hilfe

MfG
Andy
 
Und in der Listbox steht nun entweder 'True' oder 'False'.

Je nachdem ob etwas gefunden wurde oder nicht, oder?

Gibt es überhaupt eine Möglichkeit, eine Variable vom Typ MYSQL_ROW in eine ListBox auszugeben?

Welchen Wert bzw. Welche Werte kann den MYSQL_ROW annehmen?

Wenn es ein kompletter Datensatz ist wie ist er aufgebaut?

mit aufgebaut meine ich folgendes

z.B.
Code:
Name | Vorname | Datum | etc.
 
Hi,

MYSQL_ROW kann ganze Datensätze annehmen. Zur Zeit ist dieser für Testzwecke allerdings nur so aufgebaut:

Code:
ID    Beruf

Mir geht es zunächst erst mal darum, wie ich grundsätzlich das Ergebnis einer SQL-Abfrage in einer Listbox ausgebe. Später kommen auch Tabellen dazu, die 7-8 Spalten haben.

Hoffe dass das Info genug ist.

Vielen Dank für Deine Mithilfe

MfG
Andy
 
Hallo zusammen,

erst mal ein gutes neues Jahr Euch allen.

Ich glaub, dass ich ein Stück weiter bin.

Code:
const char *strSQL;
strSQL="SELECT * FROM tblberuf;";
mysql_query(mysql,strSQL);
result=mysql_store_result(mysql);
recordset_row=mysql_fetch_row(result);
listBox1->Items->Add(recordset_row[0]);

Ich versuche nun auf ein bestimmtes Feld meiner Variable(recordset_row) zuzugreifen. Ein Kollege sagte, dass das somit ein char-Array(char *) wäre. Wenn ich das versuche in der Listbox auszugeben(s.o.), erscheint folgende Fehlermeldung:

cannot convert parameter 1 from 'char *' to 'System::Object ^'

Da ich aber weiß, dass ich für die Listbox eine Variable vom Typ System::String benötige, muss ich meinen char-Array(char *) in einen System::String umwandeln?

Weiß jemand von Euch wie das geht?
Bin für jede Antwort dankbar.

MfG
Andy
 
Hallo zusammen,

erst mal ein gutes neues Jahr Euch allen.

Danke wünsch ich dir auch.

Versuch mal die letzte Zeile so einzugeben
C++:
listBox1->Items->Add(Convert::ToString(recordset_row[0]));

Weiß jemand von Euch wie das geht?

Also wenn es mich nicht täuscht ist es C++/CLI was du Programmierst oder? Wenn ja dann müsste die oben genannte Lösung zum Konvertieren richtig sein. Aber dann gehört das eher in das .NET->Windows Forms-Forum ;-)
 
Hi,

also bei dieser Variante erhalte ich die gleiche Meldung wie oben:

warning C4800: 'char *' : forcing value to bool 'true' or 'false' (performance warning)

Ich weiß jetzt net, ob ich der Lösung des Problems näher gekommen bin oder nicht?:confused::confused:

Hat jemand vllt ne Ahnung wie ich jetzt weitermachen müsste?

Danke aber für Deine Hilfe

MfG
Andy
 
Zurück