Vb.net

Résolu
ghizou_ghizou Messages postés 5 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 2 juillet 2009 - 15 juin 2009 à 17:07
ghizou_ghizou Messages postés 5 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 2 juillet 2009 - 19 juin 2009 à 15:27
salut a tous, voila j'ai  un gros probleme, j'ai une base de données et un programme en vb.net,
avec une interface WinForms (sous Visual studion 2005).
Dans une de mes Forms, j'ai un ComboBox, et j'aimerais que lorsque je choisi un enregistrement sur ma combobox
le programme m'affichera tous les champs corespandant a ce enregistrement ex quand je choisi
dans ma combobox le clt 1 le programme m'affichera tous ces renseignement dont le nom et le prénom etc
je sais que cest trop bidons, mais lorsque je choisi le 1er enregistrement ca passe bien mai quand
je choisi le 2éme le programme me donnera cette exeption

Deux liaisons de la collection vont être liées à la même propriété.
Nom du paramètre : binding.

voila le code que je met
        cmd = New OleDbCommand("select nom, prenom  from societe where ndossier=" & combobox1.Text, con)
        da = New OleDbDataAdapter(cmd)

        con.Open()
        da.Fill(ds, "gestionsociete")
        dt = ds.Tables("societe")
        Me.txtnom.DataBindings.Add("text", ds, "gestionsociete.nom")
  Me.txtprnom.DataBindings.Add("text", ds, "gestionsociete.prenom")
 bmb = Me.BindingContext(ds, "gestionsociete")

Je ne sais pas si c'est la bonne méthode, la bonne solution.
Si vous pouviez me donner un petit coup de pouce svp...
Merci d'avance ...

3 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
15 juin 2009 à 17:33
bonjour,

La fonction Add, te permet d'ajouter un DataBinding sur une propriété de ton TextBox, il ne faut l'ajouté qu'une fois pas la peine de le spécifier chaque fois que tu change de ligne via le combo, ton code est mal dispositionné, il faut créer ta source de donnée, avec la commande comme tu le fais (combobox1.text) , en suite créer les DataBindings mais, lors d'un changement dans le combo, juste mettre à jour la source de données, les DataBindings étant créés vers tes composants, ceux si se metterons à jour tout seuls, ta source de données étant déclaré avec une porté au niveau du formulaire.

Mayzz.
                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
3
ghizou_ghizou Messages postés 5 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 2 juillet 2009
17 juin 2009 à 21:53
bonjour,
merci pour l'information ,es que tu peux me dire comment l'écrire le code
0
ghizou_ghizou Messages postés 5 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 15:27
salut a tous, voila j'ai  un gros probleme, j'ai une base de données et un programme en vb.net,
avec une interface WinForms (sous Visual studion 2005).
Dans une de mes Forms, j'ai un ComboBox, et j'aimerais que lorsque je choisi un enregistrement sur ma combobox
le programme m'affichera tous les champs corespandant a ce enregistrement ex quand je choisi
dans ma combobox le clt 1 le programme m'affichera tous ces renseignement dont le nom et le prénom etc
je sais que cest trop bidons, mais lorsque je choisi le 1er enregistrement ca passe bien mai quand
je choisi le 2éme le programme me donnera cette exeption

Deux liaisons de la collection vont être liées à la même propriété.
Nom du paramètre : binding.

voila le code que je met
        cmd = New OleDbCommand("select nom, prenom  from societe where ndossier=" & combobox1.Text, con)
        da = New OleDbDataAdapter(cmd)

        con.Open()
        da.Fill(ds, "gestionsociete")
        dt = ds.Tables("societe")
        Me.txtnom.DataBindings.Add("text", ds, "gestionsociete.nom")
  Me.txtprnom.DataBindings.Add("text", ds, "gestionsociete.prenom")
 bmb = Me.BindingContext(ds, "gestionsociete")

Je ne sais pas si c'est la bonne méthode, la bonne solution.
Si vous pouviez me donner un petit coup de pouce svp...
Merci d'avance ...
0
Rejoignez-nous