Remplir un champ texte a partir d'une liste

Résolu/Fermé
Baboun - 21 mai 2009 à 01:17
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 - 24 mai 2009 à 16:47
Bonjour,
Voila je fais un programme en VB.net et je rencontre un petit souci qui fait planter mon programme!
En fait, j'ai une première page avec la liste des CD et sur une deuxième page, je récupère le numéro du CD et je voudrais que quand je choisis le numéro du CD, les champs textes "Auteur" et "Style" se remplissent automatiquement mais je ne vois pas du tout comment faire!
Ça fait trois jours que je bloque dessus et ça commence sérieusement à me prendre la tête donc je viens vous voir.
Mon code pour récupérer le numéro du CD est le suivant :
LstCD.Items.add(unCD.NumeroCD.ToString) --> Je récupère tous les numéro des CD qui sont dans la liste "LstCD"
Donc voila ce code marche parfaitement mais maintenan, je voudrais savoir on fait pour automatiser le remplissage des champs textes "Auteur" et "Style"???
Si quelqu'un pouvait m'aider cela serait très gentil!
Sachant que j'ai cherché sur internet sans succès.
Merci d'avance

7 réponses

BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
21 mai 2009 à 03:02
bonsoir
ton sujet n'est pa suffisament claire mai ce que je compri
tu charge une liste avec des numéro des cd
prmierement tu travaille avec un logiciel de base de donnée ou qoi????
0
Bonjour BadBoy3,
Non enfet je suis en deuxième année de BTS IG et je dois réaliser 5 activités dont une activité client/serveur!
Donc enfet c'est une application qui gère les ventes et les achats des CD pour un magazin(virtuel)!
Et donc comme je disais hier c'est une application avec deux pages : la première sert à renseigner les informations sur les CD (Numéro, auteur, style) et sur la deuxième page, j'ai une liste déroulante qui récupère tousles numéros de CD de la première page et enfet, je voudrais que quand on choisit le numéro 2 dans la liste déroulante, les informations relatives à ce numéro s'affiche automatiquement dans deux champs textes qui se trouvent juste en dessous de la liste déroulante.
Donc voila j'espère avoir était assez claire!
Merci d'avance d'essayer de m'aider
0
baboun > Baboun
21 mai 2009 à 21:52
Tjs d'actualité.........
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
21 mai 2009 à 22:24
bonjour
tu n'a pas répondu a mon question,tu travaille avec quel logiciel de base de donnée
autrement ou tu stock les données de la premiere page
>>> dans des fichiers
>>> dans un logiciel de base de donné (SQL-Server par ex)
>>> ou bien just dans la mémoire (si ca préciser est ce que dans une collection et comment tu les stocks)



crdlmnt
0
je travaille avec oracle
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
21 mai 2009 à 23:20
j'ai jamais travaillé .Net avec Oracle mais je pense que c'est le même que SQL-Server
en detaille :
tu click 2 fois sur le combobox (la liste déroulante) pour te met dans la page de code,exactement dans la procedure qui a comme evenement "SelectedIndexChanged" et tu doit aprés charger les donnée de ta base de donnés (que je sais pas comment faire :( ) et affecté a un objet dataset : la procedure suivant va te montrer comment :

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'des objets sql pour conecté a une base de donné tu doit les changer selon oracle
Dim con As New SqlConnection("chaine de connexion sql server")
'cest ca la requete sql je pense c parraille pour oracle
Dim ad As New SqlDataAdapter("select auteur,style from cd where numéro=" + Me.ComboBox1.SelectedText, con)


'déclarer dataset
Dim ds As New DataSet

'méthode pour remplire le dataset
ad.Fill(ds, "cd")

'affecter les résultat a les zones de texts
me.auteur.text=ds.Tables("cd").Rows(0).Item(0)
me.style.text=ds.Tables("cd").Rows(0).Item(1)

End Sub


je pense que ca va aider comme même un peu
0
Merci beaucoup Badboys je vais voir si sa marche et je te tiens au courant!!
Encore merci!
Bonne journée
0
Baboun > Baboun
22 mai 2009 à 10:43
Autrement je voulais savoir c'était quoi que tu as réalisé comme projet client serveur avec sql.server et VB.net???
merci
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15 > Baboun
22 mai 2009 à 18:05
bon j'ai travaillé plusieurs projets .Net avec SQL-Server
des projets de Gestion en générale (tel que ton projet) ajout ,modification,suppression,recherche.........
et bien sur autres projets de différent type toujours .NET (c mon spécialité)
maintenent je travaille sur un projet .Net >>> un Navigateur Web


crdlmnt
0
Baboun > BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011
22 mai 2009 à 21:01
Ok merci abdboys seulement si je peut me permettre, j'ai fait aussi la gestion des CD donc ajout, modification mais apr contre, je rencontre un souci concernant la suppression!
Voici mon code :
Private Sub btnSupCD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupCD.Click
Dim unread As OracleClient.OracleDataReader()
maConnection.EXECUTE_READER("CNXORA02", "system", "estran", "select * from CD", unread)
Dim requete As String
requete = "DELETE * FROM CD WHERE MesCD.Remove(lstCD.SelectedIndex + 1)"
maConnection.EXECUTE_SCALAR_QUERY("CNXORA02", "System", "estran", requete)

End Sub
Voila ce code ne marche pas parce que enfet, je ne sais pas coment faire pour mon "WHERE" dans ma requête je l'est un peu fait au hasard a vrai dire!
Donc si tu pouvais me corriger le tir cela serait simpa!
Concernant la recherche je voulais savoir si le code allait dans le même que l'ajout, c'est a dire si le code étaita peu près pareil ou si il était un peu plus complexe!
Merci beaucoup badboys ton aide met très précieuse!
Merci d'avance
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
22 mai 2009 à 22:15
je pense (just je pense si c'est le même que SQL-Server)
tu doit changer la requete par :
requete="delete from cd where numerocd=" + lstCD.SelectIthem

PS: tenant en compte que 'CD' et le nom de la table qui contient les donnée sur les CD et 'numerocd' et le champs qui contient les numéro de cd



pour le rechere c pas le même (toujours parcque je suis Mr SQL-Server) tester la fonction de supression aprés répond moi avec le code Oracle pour charger des donnée pour que je puise t'aider



crdlmnt

PS : badboy3 pas daboys
0
Merci beaucoup Badboy3 pour ton bout de code, j'ai réussi à adapter!

Voici mon code qui me permet de récupérer mes valeurs dans ma liste "lstCD":


Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=scott;Password=tiger;"

Dim conn As New OracleClient.OracleConnection(oradb)
conn.Open()

Dim cmd As New OracleClient.OracleCommand
cmd.Connection = conn
cmd.CommandText = "select NumeroCD, NomCD, CompositeurCD, StyleCD, PrixCD from CD"
cmd.CommandType = CommandType.Text
Dim dr As OracleClient.OracleDataReader = cmd.ExecuteReader()
While dr.Read()
lstCD.Items.Add(dr.Item(1) + dr.Item(2) + dr.Item(3) + dr.Item(4) + dr.Item(5))
End While

conn.Dispose()


Je sais pas si ce code pourra t'aider pour m'aider à faire la recherche???
Merci d'avance Badboy3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=scott;Password=tiger;"

Dim conn As New OracleClient.OracleConnection(oradb)
conn.Open()

Dim cmd As New OracleClient.OracleCommand
cmd.Connection = conn
cmd.CommandText = "select NumeroCD, NomCD, CompositeurCD, StyleCD, PrixCD from CD"
cmd.CommandType = CommandType.Text
Dim dr As OracleClient.OracleDataReader = cmd.ExecuteReader()
While dr.Read()
lstCD.Items.Add(dr.Item(1) + dr.Item(2) + dr.Item(3) + dr.Item(4) + dr.Item(5))
End While

conn.Dispose()
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
23 mai 2009 à 01:46
bien sur le code est 100% claire,c tres tres facile la recherche,conserver le méme code que tu as copier
seule la requette qui va être changer selon le critére de recherche : par example
tu charge un combobox par (les numero de cd,ou bien les nom de cd ou bien compositeur de cd ..........."n'import quel champs de le table")

tu met le meme code que tu as me monter dans la procedure de combobox ( double click sur le combo)
tu doit changer juste la requete (le texte de la commande ) par :

cmd.CommandText = "select NumeroCD, NomCD, CompositeurCD, StyleCD, PrixCD from CD where NumeroCD= ' " + me.combobox1.selecteditem + " ' "

PS : cette requette est pour un combobox chargé par des Numero de CD tu doit changer juste le mot apres where par ton critére de recherche ok par ex: une recherche par les Nom de CD

cmd.CommandText = "select NumeroCD, NomCD, CompositeurCD, StyleCD, PrixCD from CD where NomCD= ' " + me.combobox1.selecteditem + " ' "
0
Merci badboy3,
Juste je voudrais juste savoir une petite dernière chose, enfet donc je fais une recherche sur le numéro!
Donc dans le champs texte, je met le numéro que je veux choisir et juste en dessous, je veux afficher dans plusieurs champs texte, le nomCD, le compositeurCD, le styleCD ainsi que le prixCD.
Seulement je ne sais pas comment faire pour attribuer ces valeurs de la listbox dans un champs texte??
Par exemple dans ma listbox j'ai : 1, Le retour, Tryo, Variété française, 15€
2, Reel Kery james, Rap Français, 20€
Donc voila imaginons que je saisisse le numéro 2 dans mon champs texte, je voudrais que dans le champs texte juste en dessous, le nomCD s'affiche, ensuite, dans le champs texte juste en dessous, le CompositeurCD s'affiche, puis, dans le champs texte juste en dessous, lestyleCD s'affiche, enfin, dans le champs texte juste en dessous, le prixCD s'affiche.
J'espère que je me suis bien fait comprendre après ça je te laisse tranquille!mdr
Merci d'avance badboy3
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15 > Baboun
24 mai 2009 à 16:03
Bonjour
cette fois c'est trés facile par ce qu'on travaille en local, je serai juste besoin d'une toute petite information
la liste box : est ce qu'elle contient les données

"1, Le retour, Tryo, Variété française, 15€
2, Reel Kery james, Rap Français, 20€ "

ligne par ligne ou les donnée de chaque ligne sont separé par des virgules???? ou bien dans des colones????
décri moi comment la liste box contient les donnée




Crdlmnt


PS : je serai tranquille quand tu finie ton projet :) c'est un grand plaisire de passer l'information a les autres
0
Bonjour Badboy3,
Je me permet d'user un peu de tes connaissance concernant visual studio car je vois que tu as quelques notions intéréssantes concernant le client/serveur avec sql serveur et VS 2005 donc je me permet de t'envoyer ce post!
Voila je fais un programme en visual studio 2005 et j'ai fais une console de connexion dès que le programme se lance pour savoir si la personne qui utilise le programme est soit l'administrateur, soit un simple utilisateur!
Les données correspondants aux données sont stockées dans une base de données oracle!
Donc ma console à un login et à un mot de passe a remplir!
Seulement voila, je ne sais comment faire marcher une console de connexion comme cela en prenant les données de la base Oracle pour les utilisés dans le programme Visual studio!
Si quelqu'un pouvait me données un petit coup de main, je le prends sans soucis!Sachant que je cherche sur google depuis 3 trois sans succès!
Merci d'avance de prendre du temps de me répondre!
0
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
24 mai 2009 à 16:47
bonjour littleMan,
j'éspére que je peut t'aider a cette partie de programme et autres pourqoi pas

commancer avec ce code la :

/////////////////////////////

Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=scott;Password=tiger;"

Dim conn As New OracleClient.OracleConnection(oradb)
conn.Open()

Dim cmd As New OracleClient.OracleCommand
cmd.Connection = conn

cmd.CommandText = "select login,mot_de_passe,type from utilisateur"

cmd.CommandType = CommandType.Text
Dim dr As OracleClient.OracleDataReader = cmd.ExecuteReader()


While dr.Read()

if me.login.Text=dr.Item(1) and me.mot_de_passe.Text=dr.Item(2) then
if dr.Item(3)="Administrateur" then
dim f as new acceuil_admin
f.show()
me.close()
else
dim f as new acceil_utili
f.show()
me.close()
end if
end if
End While


me.Erreur.Text="Login ou Mot de Passe Invalide"

/////////////////////////////

sachant que :

>> oradb : la chaine de connexion tu doit la changer par ton chaine de connexion avec la base de donnée Oracle(j'ai copier la chaine baboun)

>> que tous les utilisateurs et les administrateurs sont enregistrer dans la méme table dans la base de données (que je donne utilisateur comme nom dans ma requette),et "login" et "mot_de_passe" et "type" sont les noms des champs de la table... tu doit changer la requette "cmd.CommandText" par les nom des tables et champs de la base de donnée


>> me.login.Text et me.mot_de_passe sont les zones de Text de console de connexion,et me.erreur.text est une label afin d'afficher l'erreur de mot de passe ou login invalide


>> tu as 2 autre form "acceuill_admin" pour l'administrateur "acceil_utili" pour l'utilisateur

répond moi si ca marche pas (We Hope Not lol)


Crdlmnt
0