Mise à jour de listbox

Nikos62 -  
sooprano Messages postés 33 Statut Membre -
Bonjour,

j'utilse vb.net et sql server 2005.Je dois remplir une base de données par rapport à une interface vb. Je dispose d'une listbox UTILISATEURS avec le nom des gens déjà enregistrés. Mon problème est le suivant : quand j'ajoute un utilisateur via mon appli il va bien dans la base de données mais je dois redémarrer mon appli vb pour l'avoir dans ma listbox. J'aimerai qu'il s'ajoute directement, je sais que cela est possible mais je ne trouve vraiment pas de réponse !! Je vous donne mon code :

[Private Sub bt_ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ajouter.Click
Dim ajout As VariantType

ajout = MsgBox("Voulez vous ajouter cet utilisateur ?", MsgBoxStyle.OkCancel + MsgBoxStyle.Exclamation, "Alerte")
If ajout = vbOK Then
Dim utils As SqlCommand = conn.CreateCommand
utils.CommandText = "insert into UTILISATEURS (nom, prenom, société, grade, actif, mail, login, mdp) values ('" & txtbox_nom.Text & "', '" & txtbox_prenom.Text & "', '" & txtbox_societe.Text & "', '" & txtbox_grade.Text & "', '" & txtbox_actif.Text & "', '" & txtbox_mail.Text & "', '" & txtbox_deflog.Text & "', '" & txtbox_defmdp.Text & "')"
utils.ExecuteNonQuery()

End If
End Sub
End Class]

merci de vos réponses !! Nicolas
A voir également:

7 réponses

phil_232 Messages postés 286 Statut Membre 33
 
" utils.ExecuteNonQuery()" ???
utils.ExecuteQuery(), ça n'irait pas ?

n'oublies pas

Set utils = Nothing
Set ajout = Nothing

ou mieux

Dim ajout As Long
et
'Set ajout = Nothing
0
charlesbouillault Messages postés 144 Statut Membre 6
 
tu n'a qu'a recharger ta listebox, plutot si tu utilise un recordset, tu le ferme puis le réouvre et tu recharge ta listbox, et la elle sera mise a jour!!!
0
phil_232 Messages postés 286 Statut Membre 33
 
éventuellement t'as un .Requery comme dans Access (dépend du control utilisé)
0
Nikos62
 
Bonjour,

En fait, le "execute.query()", vbl ne veut pas le prendre !!

Pour ce qui est du recordset, c'est le recordset que j'ouvre et réouvre ou mon programme ??

Sinon j'ai aussi beaucoup entendu parler du DoEvents mais vb me le prend pas non plus !!! Si quelqu'un a des explications ?!?

Sinon merci pour vos réponses !!!

Bonne journée
0

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

Posez votre question
phil_232 Messages postés 286 Statut Membre 33
 
"En fait, le "execute.query()", vbl ne veut pas le prendre !!"
c'est normal, car c'est vba

"Pour ce qui est du recordset, c'est le recordset que j'ouvre et réouvre ou mon programme ??"
pas très clair
sur le OnClick sur la combo tu fais un Requery
pas besoin de redémarrer le programme
suffit de "rafraichir" la liste
0
charlesbouillault Messages postés 144 Statut Membre 6
 
Moi ce que je disait simplement c'est de fermer le recordset par monrecodset.close puis de le réouvrire et ensuite de recharget ta liste!!! Sans pour autant de fermer ton application
0
sooprano Messages postés 33 Statut Membre
 
bon moi j vois ke tu dois raffraichir ta base de donnée achque fois ke tu fé un enregistrement exemple si tu utilise Data par exemple alors ta ka mettre Data1.refresh dans List box et voila
0