Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Datensätze ins Label schreiben


Poldi45354 - Mi 13.02.13 12:49
Titel: Datensätze ins Label schreiben
Hallo zusammen,
habe nun eine Datenbank erstellt (mit Tabelle) mit einmal der Spalte Spieler und Stärke.

So nun gebe ich die Spalte Spieler in einer ListBox aus, wo alle Datensätze dieser Spalte angezeigt werden. Was auch funktioniert.

Nun steht zu jedem Datensatz eine Stärke die nur dann in einem Label angezeigt werden soll wenn der bestimmte Spieler in der ListBox angeklickt ist.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
            connection.Open();
            Reader = command.ExecuteReader();
            while (Reader.Read())
            {
                lb_aufstellung.Items.Add(Reader.GetValue(0).ToString());
                lbl_stärke.Text = Reader.GetValue(1).ToString();
            }
            connection.Close();



Mit diesem Code werden halt alle Datensätze ins Label geschrieben, nun soll aber immer nur die Stärke vom angeklickten Spieler angezeigt werden.

Jetzt hab ich mir gedacht einen SelectIndexChanged Funktion mit reinzubringen


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
            connection.Open();
            Reader = command.ExecuteReader();
            while (Reader.Read())
            {
                lb_aufstellung.Items.Add(Reader.GetValue(0).ToString());
                void lb_aufstellung_SelectedIndexChanged(object sender, EventArgs e)
                {
                     lbl_stärke.Text = Reader.GetValue(1).ToString();
                }
            }
            connection.Close();


Dabei wird aber als Fehler ausgeben, dass ich keine Methoden in den Namespace schreiben kann.

Mfg Poldi


Th69 - Mi 13.02.13 14:41

Hallo und :welcome:

da scheinen dir aber einige Grundlagen zu fehlen.
Der letzte Code ergibt keinen Sinn: du mußt die Methode separat (in der Klasse) erstellen und dann in dieser Methode auf den aktuell selektierten Eintrag zugreifen.

Viel einfacher ginge dies jedoch mittels DataBinding, s. z.B. http://www.akadia.com/services/dotnet_databinding.html bzw. speziell für ListBox http://www.codeproject.com/Articles/8390/Best-Practice-for-Binding-WinForms-ListControls

Aber bitte demnächst Crossposts immer verlinken: myCSharp.de - Datensätze ins Label schreiben [http://www.mycsharp.de/wbb2/thread.php?threadid=107033]

P.S. Für WinForms kann ich dir noch das OpenBook Visual C# 2008 [http://openbook.galileocomputing.de/visual_csharp] empfehlen.