C# Combobox mit Datenbankspalte füllen

V

VirusDeluXe

Gast
Hallo zusammen,

ich habe nun bereits ein wenig gegoogelt und finde noch nicht die richtige Beispiele bzw. Erklärungen für mein aktuelles Problem, damit ich weis wie ich damit umgehen muss. Ich arbeite nun an meinem ersten eigenen kleinen Projekt, dass ich von daheim aus auch zu etwas bringen möchte.

Leider hatte ich noch nie eine Datenbank in einer C#-Anwendung, daher muss ich relativ viel nachlesen was diese Thematik angeht (von Datenbanken selbst habe ich natürlich Ahnung).

Zu meinem Problem:

Ich möchte, dass eine Combobox bei "MouseDown" ein SELECT-Statement auf meine (lokale) Datenbank wirft und dadurch die selektierte Spalte meine Auswahl in der Combobox darstellt.
Ich stand erst gestern vor einem ähnlichen Problem mit dem DataGridView bei dem ich manuell ein SELECT*Statement ausführen musste, damit er auch mehr (wegen JOIN) als eine einzige Tabelle anzeigt.

Nun habe ich gedacht, dass ich das gleiche Verfahren bei der Combobox anwende, allerdings läuft irgendwas noch schief. Man merkt, dass er den SELECT tatsächlich ausführt, aber er gibt mir anstatt den eigtl. erwarteten Werten einfach "System.Data.DataRowView" aus.

Hier mein Code für dieses Problem:

Code:
        private void onMouseDownName(object sender, MouseEventArgs e)
        {
            // Aufbau der Verbindung zur Datenbank
            using (SqlCeConnection c2 = new SqlCeConnection(
                Properties.Settings.Default.MBaseConnectionString))
            {
                c2.Open();
                // Erstellen eines neuen DataAdapter
                using (SqlCeDataAdapter a2 = new SqlCeDataAdapter(
                    "SELECT name FROM Name", c2))
                {
                    // Verwendung des DataAdapter um DataTable to befüllen
                    DataTable t2 = new DataTable();
                    a2.Fill(t2);
                    // Daten auf den Bildschirm rendern
                    comboBox1.DataSource = t2;
                }
            }
        }

Würde mich über jede Lösung mit Erklärung wirklich sehr freuen. Ist das erste Mal und man will schließlich was dazulernen und weiterkommen :)

Vielen Dank vorab!
 
Danke bisher, allerdings komme ich noch nicht wirklich weiter. Muss allerdings auch sagen, dass das VB mich erstrecht durcheinander bringt. War bisher noch nie ein wirklicher Freund von VB.

Ich probiere mal weiter, ansonsten hat vllt. noch jemand anderes eine genauere Idee. Den ersten Post habe ich versucht umzusetzen, allerdings bin ich gescheitert.
 
Das ist nun wirklich peinlich, aber lacht mal mit mir.

Mein Code von oben funktioniert bereits. Als ich vor dem in's Bett gehen nochmal mit STRG + S gespeichert hatte und nochmal schnell debuggte, hat es funktioniert.
So funktionieren nun auch alle weiteren Comboboxen von mir, da ich mehrere in meiner Form besitze.

Das ist doch einmal eine amüsante Abwechslung :)
 
Zurück
Oben