Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

Daten aus einer Datenbank in eine Combo Box füllen /VB.NET

DarkPrayer / 2 Antworten / Flachansicht Nickles

Hallo,


ich habe da mal folgendes Problem:


Wie kann ich Daten aus einer Datenbank in eine ComboBox füllen. Muss ich da eine Schleife mit einbinden. Ich weiß das das geht, aber ich weiß nicht wie..


bitte helfen :-)...danke


 

bei Antwort benachrichtigen
philipps DarkPrayer „Daten aus einer Datenbank in eine Combo Box füllen /VB.NET“
Optionen

Hallo DarkPrayer!!

im Gegensatz zum (alten) VB6 werden in VB.NET alle Combobox Items als Objekte gespeichert.
Alle Objekte sind in einer Item Collection gespeichert. Objekte werden nach dem Schema

Collection.Items.Add(ObjektName) mittels einer Schleife gespeichert.

Es empfiehlt sich daher erstmal eine Objektklasse anzulegen, die für die ComboBox benutzt wird; z.B.

================================================

Public Class CListItem

Dim intID As Integer
Dim strValue As String


Public Property Item_Identifier() As Integer
Get
Item_Identifier = intID
End Get
Set(ByVal Value As Integer)
intID = Value
End Set
End Property

Public Property Item_Value() as String
Get
Item_Value = strValue
End Get
Set(ByVal Value as String)
strValue = Value
End Set
End Property

Public Overrides Function ToString() As String
ToString = strValue
End Function
End Class

===================================================

Die Methode "ToString" wird von der Superklasse Objekt geerbt und muss daher neu definiert werden.(=Inheritance) Die ComboBox ruft die Methode ToString auf um sich den Wert zu holen der in der ComboBox angezeigt wird. Die Beispielobjektklasse oben hat zwei Eigenschaften. Einmal kannst Du dort einen Identifier (Primärschlüssel) einer Tabelle speichern und auch noch einen Textwert. Natürlich kannst Du weitere Eigenschaften (Properties) hinzufügen :-)

Aus der Datenbank werden die Werte also folgendermassen hinzugefügt. Angenommen Du benutzt einen OLEDB DataReader und hast eine Combobox Namens "Combobox1":

Dim cItem as CListItem
do while oReader.Read()
cItem = new CListItem()
cIItem.Item_Identifier = oReader.Item("Tabellenschlüsselname");
cItem.Item_Value = oReader.Item("Tabellenattributname");
ComboBox1.Items.Add(cItem)
Loop


Das war's dann auch schon. Ich hoffe Du hast das Prinzip verstanden.

bei Antwort benachrichtigen