C# + MySQL alle Spalten einer Zeile auslesen?
Hallo liebe Community, ich kriege es einfach nicht hin, alle Spalten einer Zeile anstatt nur die erste zu ablesen. Mein Code ist folgendes:
try
{
String str = @"server=-;database=-;userid=-;password=-;"; //hidden für euch
MySqlConnection con = null;
MySqlDataReader reader = null;
con = new MySqlConnection(str);
con.Open();
String cmdText = "SELECT * FROM benutzer";
MySqlCommand cmd = new MySqlCommand(cmdText, con);
reader = cmd.ExecuteReader();
while (reader.Read())
{
textBox1.AppendText(Convert.ToString(reader[0]));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Undzwar habe ich eine Datenbank 'loginsystem', darin eine Tabelle 'benutzer' mit den Spalten 'ID', 'username' und 'passwort'. Ich möchte alle Spalten der Zeile auslesen, jedoch kriege ich nur die ID. Woran liegt es?
ID ist eine bigint, der Rest nur text vom Typ. Als ich ID entfernt hatte, bekam ich nur die usernames und keine passwörter.
2 Antworten
Hier Zeigen sie es
https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-sql-command.html
bei dir wäre es nur reader[0] , also sollte es noch reader[1] etc geben .
ein datensatz sind nun einmal mehrere werte .
ergo muss du alle felder afragen im selben read
id,name,email,plz
pro dingens ein [x] , hast du vier felder pro datensatz dann
reader[0] , reader[1], reader[2],reader[3]
bzw reader.Get.... , reader.Get... , reader.Get ... , reader.Get
Das war es! ich brauchte nur noch reader[2] einfügen. Danke dir, wäre nie darauf gekommen, wieso auch immer :D
das mit dem reader[0] scheint genau nur der erste eintrag zu sein , wie wäre es mit dem richtigen datentyp einlesen
reader.GetValue(0).ToString()
Jetzt geht er die erste Spalte dann die zweite Spalte durch. Kann ich nicht die Zeilen durchgehen?
Jetzt: benutzer1benutzer2benutzer3passwort1passwort2passwort3
gewünscht:
benutzer1passwort1benutzer2passwort2 etc