Mise à jour de la BDD d'un datagrid

Signaler
Messages postés
5
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
17 août 2006
-
Messages postés
5
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
17 août 2006
-
Salut à tous !
J'ai un problème, à mon avis simple à résoudre mais je n'arrive pas...J'ai recherché sur google mais pas moyen...

Alors j'ai mis un datagrid view et je l'ai lié (grâce à l'interface de vb 2005) à ma base sql server, il affiche les données de ma table PERSONNE sans problème.

L'éditeur m'a donc mis cette ligne qui remplie le datagrid :


Me.PERSONNETableAdapter.Fill(
Me.StagesDataSet.PERSONNE)

Mais maintenant je veux pouvoir enregistrer les modifications (suppressions de lignes etc...), j'ai donc un bouton enregistrer avec ce code :


Private
Sub btEnregistrer_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btEnregistrer.Click



            Me
.dgListePersonne.Update()







            Me
.PERSONNETableAdapter.Update(

Me
.StagesDataSet.PERSONNE)




End



Sub


Mais cela ne sauvegarde pas les données dans la base...Pourtant j'ai activé la suppression du datagrid....

Merci d'avance !

2 réponses

Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Alors je connais pas les datagrid view, mais dans une cas avec le datagrid tout simples, j'utilise un commandbuilder, qui permet de metre à jour ta base, selon ta vue.


Car pour l'instant, avec le code de ton bouton, cela met juste la vue à jour, et non ta base.


Alors c'est pi être une piste, enfin j'espère que ça va t'aider :D

BIz [;)]
Messages postés
5
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
17 août 2006

c'est bon j'y suis arrivé :)

mais j'ai un autre problème : je voudrais limiter à 10 caractères maximum la saisie dans la colonne 5 par exemple, c'est donc la propriété MaxInputLenght qu'il faut mettre à 10.
Cependant je ne peux pas y accéder, par exemple si je fais :
Me.dgPersonne.Columns(5).  (et là pas de MaxInputLenght)

Voici le code

Private

Sub liste_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

      dataAdapter.Fill(ds,
"PERSONNE")

      Me.dgPersonne.DataSource = ds.Tables(
"PERSONNE")

      'propriétés des colonnes du datagridview

      Me.dgPersonne.Columns(0).Visible =
False

     WithMe.dgPersonne         .Columns(1).HeaderText "Nom"         .Columns(2).HeaderText
"Prénom"         .Columns(3).HeaderText "Date de naissance"         .Columns(4).HeaderText
"Fonction"         .Columns(5).HeaderText "Téléphone"         .Columns(6).HeaderText

"Etablissement"

      End
Withc.Close()

 

End
Sub