Bonjour,
J'ai une listBox reprenant l'ensemble des utilisateurs stockés dans la table Utilisateur. Affichage du pseudo uniquement.
J'ai un label qui indique l'ID de l'utilisateur selectionné.
Une textbox qui indique le pseudo
Une textbox qui indique le mot de passe.
Un bouton valider pour enregistrer les modifications.
Je ne m'attarde pour le moment pas encore sur le mot de passe.
J'ai procédé comme suis en mode graphique :
Association de la table Utilisateur à la listbox via la propriété DataSource
Visual me crée un UtilisateurBindSource ,un Bd1DataSet et une UtilisateurTableAdapter
Display Member = Pseudo
Pour la textbox Pseudo : (DataBindings) / Text = UtilisateurBindingSource - Pseudo
Pour le label ID : (DataBindings) / Text = UtilisateurBindingSource - ID_Personne
Dans le code :
A été généré dans le load :Lorsque je clique sur le bouton Valider, j'execute la ligne suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Me.UtilisateurTableAdapter.Fill(Me.Bd1DataSet.Utilisateur) 'Pensant que ça pouvait être la source du problème, j'ai redefini la commande update mais ça me "marche" sans celle-ci. 'UtilisateurTableAdapter.Adapter.UpdateCommand = New OleDbCommand("UPDATE Utilisateur SET Pseudo = '" & tbPseudo.Text & "' WHERE ID_Personne = " & laID.Text, con)
Symptomes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.Bd1DataSet.Utilisateur.AcceptChanges() UtilisateurTableAdapter.Update(Me.Bd1DataSet.Utilisateur)
Lorsque je modifie le pseudo dans la textBox et que je clique sur Valider, il met bien a jour le pseudo dans la listBox mais pas dans la base de donnée.
PAR CONTRE, lorsque après avoir fait la même chose que ci-dessus, je me balade dans la listbox, re selectionne l'utilisateur clique dans la textbox pseudo et clique sur valider. la modification s'enregistre dans la BDD.
Il me faut donc cliquer deux fois sur Valider pour que l'enregistrement s'effectue dans la BDD... pourquoi ?
NB : Il s'agit d'un tableAdapteur, je le dis parce que en cherchant sur google j'ai pas trouvé beaucoup de doc
NB2 :
Lorsque dans le code du bouton valider je met le code suivant, la modification s'effectue immédiatement dans la BDD :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cmd = New OleDbCommand("UPDATE Utilisateur SET Pseudo = '" & tbPseudo.Text & "' WHERE ID_Personne = " & laID.Text, con) cmd.ExecuteNonQuery()
Partager