Hallo!
Am besten ist wenn du, wie Norbert schon sagte, über einen DataAdapter, DataTable machst. Erstell dir eine Funktion, welche dir die Verbindung ermöglichen soll. Etwa so
Code:
Private Shared Function GetConnString() As String
Dim strCon As String = "Server=(local);Database=Hier_Kommt_Dein_DatenBank_Name_Rein;" & _
"Integrated Security=true"
Return strCon
End Function
Falls der Server sich in einem Netzwerk befindet, musst du statt local, den Netzwerknamen ändern, dein Benutzername und Passwort anhängen. Das würde dann so in etwa aussehen, wenn ich mich nicht täusche
Code:
Dim strCon As String = "Server=192.168.13.10;Database=Hier_Kommt_Dein_DatenBank_Name_Rein;user id=Benutzername;password=Passwort;" & _
"Integrated Security=false"
Return strCon
Dann erstellst du nch eine Funktion, welches die Abfrage macht. In etwa so vielleicht
Code:
Public Shared Function Abfragen(ByVal strQuery As String) As DataTable
Dim dTable As New DataTable
Dim con As New SqlConnection(GetConnString)
Dim dAdapter As New SqlDataAdapter(strQuery, con)
Try
con.Open()
dAdapter.Fill(dTable)
Catch ex As Exception
MsgBox(ex.Message)
Finally
If con.State = ConnectionState.Open Then con.Close()
End Try
Return dTable
Der Rückgabe wert sollte eine DataTable sein.
Mit der DataTable gehst du in einer Schleife, jede Zeile durch und übergibst die Spaltenwerte an Variablen. Diese fügst du dann in einer ArrayList. Der Rückgabe dieser Funktion sollte eine ArrayList sein. Eine Möglichkeit wäre diese.
Code:
Public Shared Function Test() As ArrayList
...
ArrayList.Add(New Klasse(Spalte1, Spalte2, Spalte3))
Return ArrayList
so jetzt zu deinem eigentlichen Problem, das befüllen einer DropdownList.
Dazu erstell mal eine ArrayList und hole mal die Ergebnisse von der Funktion, welches eine ArrayList als Rückgabewert hat.
Code:
Dim al As ArrayList
al = Klasse.Test
Und erst jetzt kommt die DropdownList
Code:
DropDownList.DataSource = al
DropDownList.DataTextField = "Angezeigter_Text"
DropDownList.DataValueField = "ID"
DropDownList.DataBind()
So, ich hoffe das hilft dir weiter.
ksk