Charger le dropdownlist avec deux tables

0/5 (3 avis)

Snippet vu 10 760 fois - Téléchargée 18 fois

Contenu du snippet

Avec ASP.NET et SQL 2008 R2

ce bout de code montres comment on peut charger un dropdownlist avec les informations tirées dans deux tables d'une base de donnée.

Source / Exemple :


'----Rappelle: Partie de la connection est de cette forme...
    '
    'MyConn = New System.Data.SqlClient.SqlConnection
    'MyConn.ConnectionString = ConfigurationManager.ConnectionStrings("ApplicationServices").ConnectionString
    'MyConn.Open()
    '
    '--------------------------------------------

    Protected Sub PremiereInfo()
    
        Dim s As Integer
        Dim adapt As New SqlDataAdapter("SELECT Nom1 FROM Table1", MyConn)
        Dim dataset As New DataSet
        adapt.Fill(dataset, "Table1")
        With dataset.Tables("Table1")
            If DropDownList1.Items.Count = 0 Then '--pour vérifier si il y a déjàs des données dans DDL
                For s = 0 To .Rows.Count - 1
                    DropDownList1.Items.Add(.Rows(s).Item("Nom1"))
                Next
                DeuxiemeInfos() '--on appelle la deuxieme table...Içi pour éviter des doublons
            End If
        End With
    End Sub

    Protected Sub DeuxiemeInfos()  
        Dim s As Integer
        Dim adapt As New SqlDataAdapter("SELECT Nom2 FROM Table2", MyConn)
        Dim dataset As New DataSet
        adapt.Fill(dataset, "Table2")
        With dataset.Tables("Table2")

            For s = 0 To .Rows.Count - 1
                DropDownList1.Items.Add(.Rows(s).Item("Nom2"))
            Next

        End With
    End Sub

Conclusion :


C'est ce que j'ai trouvé, une notre méthode? Idée? Correction? un commentaire m'aidera grandement beaucoup
Merci

A voir également

Ajouter un commentaire Commentaires
nn
essanousy Messages postés 2 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 23 juin 2014
17 juin 2014 à 18:13
ma suggestion :

Dim adapt As New SqlDataAdapter("SELECT Nom1 FROM Table1 union SELECT Nom2 FROM Table2", MyConn)

hervethebest Messages postés 7 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 juillet 2012
2 juil. 2012 à 07:23
salut,

à ta place j' aurais plutôt factoriser la fonction comme ci dessous :

Protected Sub AjouterInfos(ByVal requete_sql as String)
Dim s As Integer
Dim adapt As New SqlDataAdapter(requete_sql, MyConn)
Dim dataset As New DataSet
adapt.Fill(dataset, "Table")
With dataset.Tables("Table")

For s = 0 To .Rows.Count - 1
if (DropDownList1.Items.FindByText(value) is null) then
DropDownList1.Items.Add(.Rows(s).Item("Nom"))
endif
Next

End With
End Sub

A noter le if (DropDownList1.Items.FindByValue(value) is not null) then
pour tester si l' element est deja present dans le dropdownlist.

j' ai traduit directement à partir d' un code en c# alors j' espère que ca va ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.