IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Combobox n'affiche qu'une donnée


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Points : 32
    Points
    32
    Par défaut Combobox n'affiche qu'une donnée
    Bonjour,
    J'ai un problème avec ma combobox qui n'affiche qu'une donnée.
    Je m'explique,
    dbo.Chars
    Panel

    L'idée est que la personne entre un nom de compte (UserID) dans la partie account sa ressort un UserUID (chiffre unique par compte)
    Qui après ma forme private sub load_char() se sert de cette userUID pour afficher dans ma combobox l'ensemble des personnage (voir screen 1 & 2) j'ai pourtant 2 perso mais ma combo n'en ressort qu'une donnée (voir screen 2)

    Code de ma combo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub load_char()
            Conn = New SqlConnection("Server=" & TextIpConn.Text & ";Database=PS_GameDefs;User Id=" & TextUserConn.Text & ";Password=" & TextPassConn.Text & ";")
     
            Conn.Open()
            Query = "Select * from PS_GameData.dbo.Chars where UserUID='" & GetUser.Text & "'"
            Cmd = New SqlCommand(Query, Conn)
            Rd = Cmd.ExecuteReader
     
            If Rd.Read Then
                Dim rchar = Rd("CharName")
                ComboChar.Items.Add(rchar)
            Else
                MessageBox.Show("TT")
            End If
        End Sub

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    rd.read retourne true s'il a réussi à avancer d'une ligne

    donc s'il y a plusieurs lignes, il faut faire une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while rd.read
       ' code
    end while
    pour savoir si tu n'as rien trouvé tu peux tester le combobox.items.count = 0
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Ok merci cela marche, pour la vérification j'ai fait cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub load_char()
            Conn = New SqlConnection("Server=" & TextIpConn.Text & ";Database=PS_GameDefs;User Id=" & TextUserConn.Text & ";Password=" & TextPassConn.Text & ";")
     
            Conn.Open()
            Query = "Select * from PS_GameData.dbo.Chars where UserUID='" & GetUser.Text & "'"
            Cmd = New SqlCommand(Query, Conn)
            Rd = Cmd.ExecuteReader
     
            While Rd.Read
                Dim rchar = Rd("CharName")
                ComboChar.Items.Add(rchar)
            End While
            If ComboChar.Items.Count = 0 Then
                ComboChar.Text = "No Character"
            End If
        End Sub
    Mais nada quand un compte n'a rien ça m'affiche les perso de l'ancien, il ne se met pas à jour.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Il faut effacer le contenu de la liste avant d'ajouter les nouveaux.
    Cours : Philippe Lasserre - Les ListBox info complèmentaire Les comboBox
    tu peux aussi utiliser la propriété "HasRows" pour déterminer la présence de lignes, puis faire le remplissage de la combo ou mettre "No Character"
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Nouveau membre du Club Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Bonjour,
    J'utilise cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboChar.Items.Clear()
    Pour le bouton refresh et à fin de mettre à jour style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ComboChar.Items.Clear()
    load_char()
    Comme cela sa remet la Combo vide et sa re-load les données

    Merci ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Lier plusieurs Combobox pour afficher dans une listbox
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/10/2015, 13h49
  2. [Débutant] Mon ComboBox n'affiche pas mes données
    Par P_Mercier dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/05/2013, 14h40
  3. Afficher une donnée à modifier dans un combobox
    Par ambe_fr dans le forum Flex
    Réponses: 7
    Dernier message: 21/07/2010, 17h07
  4. Réponses: 4
    Dernier message: 19/10/2006, 17h19
  5. [MySQL] Supprimer une ligne afficher dans une base de donnée
    Par julienchpt dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 14/10/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo