Autor Beitrag
bizkit
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 11.02.14 11:16 
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:

ausblenden volle Höhe 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 user profile iconChristian S.: C#-Tags hinzugefügt
Yankyy02
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138
Erhaltene Danke: 21

Win 11 x64
C# (VS 2022 - Rider)
BeitragVerfasst: 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.

_________________
the quiter you become, the more you are able to hear

Für diesen Beitrag haben gedankt: bizkit
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 11.02.14 12:15 
Hallo,

du benötigst eine eigene Klasse als Datenstruktur mit passenden Eigenschaften (properties), z.B.
ausblenden 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:
ausblenden C#-Quelltext
1:
List<Person> liste = new List<Person>();					

und füllst diese dann mit passenden Person-Objekten:
ausblenden 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);
}

Für diesen Beitrag haben gedankt: bizkit
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: 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?

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.

Für diesen Beitrag haben gedankt: bizkit
bizkit Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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