C# label text ändern

05/02/2013 18:36 ColaHendlHero#1
Hallo Leute ^^

ich komme irgendwie nicht weiter

Ich habe mehrere Labels die sich ändern sollen (also der Text)

mein Programm soll von einer MySQL Tabelle die Spalte AccName in die jeweiligen Labels einfügen.
Bsp.
Tabelle: Mail
ID
0 AB
1 CD
2 EF
3 GH

im Programm soll dann unten stehen in die jeweiligen Labels
AB
CD
EF
GH

maximal sind 4 AccName, können aber auch nur 2 oder 1 sein

mein Code zum abrufen ^^ (P.S. bin noch am lernen)

Code:
        private void hoster()
        {
            OdbcDataReader Accounts2 =
                connection.Query("SELECT id, AccName " + "FROM Email ");
            while (Accounts2.Read())
            {
                Listitem item = new Listitem(
                    Accounts2.GetInt32(0),
                    Accounts2.GetString(1)
                );
            }

        }
solltet ihr noch was benötigen bitte sagen ^^

MfG und danke schonmal
05/02/2013 19:51 snow#2
Keine Ahnung von den Klassen da, aber pack dir einfach die (Referenzen auf die )Labels in ein Array (weiß nicht, wie man das bei C# machen muss) und pack dir in die Schleife eine Variable rein, die sich immer erhöht.

Primitive Umsetzung:
int i = 0;

while (Accounts2.Read())
{
Labels[i].Text = Accounts2.GetString(1);
++i
}

oder so.
05/02/2013 20:02 reCougar#3
Ich würde keine MySql Klasse verwenden, sondern einfach die Tabellenelemente im Web per php auswerfen lassen und die dann einfach auslesen.
05/02/2013 20:09 ColaHendlHero#4
Danke für die Antworten, werd ich später mal testen.

sind leider alles Vorgaben die ich einhalten muss -.- wegen Prüfung
05/04/2013 08:57 ColaHendlHero#5
Also, so wie oben hat es leider nicht ganz geklappt, jetzt hab ich es so geändert & es scheint zu klappen :)

Code:
private void hoster()
        {
            OdbcDataReader Accounts2 =
                connection.Query("SELECT id, AccName " + "FROM Email ");

            int i = 1;
            while (Accounts2.Read())
            {
                switch(i)
                {
                    case 1:
                        lblmail1.Text = Accounts2.GetString(1);
                        break;
                    case 2:
                        lblmail2.Text = Accounts2.GetString(1);
                        break;
                    case 3:
                        lblmail3.Text = Accounts2.GetString(1);
                        break;
                    case 4:
                        lblmail4.Text = Accounts2.GetString(1);
                        break;
                }
                i++;
            }
        }
MfG