Entwickler-Ecke
Basistechnologien - SQL Abfrage in mehrdimensionaler Liste
bizkit - Di 11.02.14 11:16
Titel: SQL Abfrage in mehrdimensionaler Liste
Hallo,
ich komme leider nicht weiter.
Wie kann ich meine SQL-Daten mit 3 Spalten (Vorname,Nachname, Telefonnr) in einer Liste mit 3 "Spalten" ausgeben?
Bisher habe ich eine eindimensionale Liste benutzt, aber eine mehrdimensionaler kriege ich nicht hin.
hier ist mein Code für eine eindimensionale List mit SQL-Abfrage:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| private void button1_Click(object sender, EventArgs e) {
System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(); connection.ConnectionString = XXXXXXXXXXXX; SqlCommand SqlCommand = new SqlCommand ("Select * from Mitarbeiter",connection); List<String> liste = new List<String>();
try { connection.Open();
SqlDataReader reader = SqlCommand.ExecuteReader();
while (reader.Read()) { liste.Add(reader["Vorname"].ToString()); liste.Add(reader["Nachname"].ToString()); liste.Add(reader["Telefonnr"].ToString()); }
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
finally { connection.Close(); }
for(int i=0; i<liste.Count; i++) { label1.Text += liste[i].ToString()+"\n"; }
} } |
Moderiert von
Christian S.: C#-Tags hinzugefügt
Yankyy02 - Di 11.02.14 12:11
Hallo bizkit,
Du solltest dir eine Klasse Person mit den Properties Vorname, Nachname, Telefonnr bauen und diese dann in eine List<Person> packen.
Beim einlesen erzeugst du dann immer eine neue Person und fügst sie der Liste hinzu.
Th69 - Di 11.02.14 12:15
Hallo,
du benötigst eine eigene Klasse als Datenstruktur mit passenden Eigenschaften (properties), z.B.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| class Person { public string Vorname { get; set; } public string Nachname { get; set; } public string TelefonNummer { get; set; } } |
Nun erzeugst du dir eine Liste davon:
C#-Quelltext
1:
| List<Person> liste = new List<Person>(); |
und füllst diese dann mit passenden
Person-Objekten:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| while (reader.Read()) { Person person = new Person(); person.Vorname = reader["Vorname"].ToString(); person.Nachname = reader["Nachname"].ToString(); person.Telefonnummer = reader["Telefonnr"].ToString();
liste.Add(person); } |
Tranx - Di 11.02.14 12:36
Gibt es in C# auch sowas wie die Komponente TDBGrid (Sozusagen ein Stringgrid mit Datenbankkomponenten)? Wenn ja, mache es doch darüber, dann kannst du den Spalten auch die Datenbankfelder zuordnen. Oder willst du die Liste als Textdatei ausgeben?
bizkit - Mi 12.02.14 01:11
Ok, ich werde dann die Vorschläge mal ausprobieren.
Mit dem DataGrid komme ich nicht so gut klar.
Auf jeden Fall schon mal Danke für die Antworten
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!