DropDownListen befüllen?!

SebiASP

Grünschnabel
Hallo,

bin ein absoluter ASP.NET Anfänger. Das solltet ihr wissen! :rolleyes:
Folgende Problemstellung:

Ich muss 2 Dropdownlisten mit Inhalt aus einer SQL-Server Datenbank befüllen.
Im Visual Studio 2005 kann man für jede DropDownliste eine eigene Datenquelle auswählen. Würde es nicht ausreichen nur einen Connect zur Datenbank zu erstellen? Danke für jeden Tipp

Gruss
 
Natürlich reicht das :)

Erstellst dir per Source einen DataAdapter der die entsprechenden Daten via einer SqlConnection ausliest. Danach kannst du mit Hilfe der Methode Fill des DataAdapters ein DataSet befüllen und dieses bindest du an dein Control. Und fertig.
 
Ich kriege das nicht so richtig zum laufen! :-(

ich erstelle einen DataAdapter. aber wie befülle ich die DropDownliste mit den Daten

Dim ABC As DataSet = New DataSet
Adapter.Fill(ABC, "Namen")

tblorteGrid.DataSource = ABC.Tables("Namen")
tblorteGrid.DataBind()

so ähnilich oder? :rolleyes:
 
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
 

Neue Beiträge

Zurück