Mise à jour BDD à partir d'un DataSet

kalashw Messages postés 2 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 28 février 2011 - 25 févr. 2011 à 22:16
lezj Messages postés 66 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 juillet 2013 - 3 mars 2011 à 11:15
Bonjour,

Je cherche à mettre à jour le contenue d'une table mysql à partir d'un dataset. En fait je récupère dans un 1er temps le contenue de la table de ma bdd puis je rajoute une ligne dans mon dataset et pour finir je met à jour ma bdd avec les modifications. Le problème c'est que la ligne qui est rajouter dans ma bdd est nulle alors que mon dataSet à bien été remplis.
        public void Ajout_Artiste(int id, string nom) 
        {

            DataRow newrow = dataTable.NewRow();
            newrow[0] = id;
            newrow[1] = nom; 
            dataTable.Rows.Add(newrow);
            dataAdapter.Update(dataSet, "Artiste");

        } 


Je vérifie que le dataSet à bien été remplis avec ça : (c'est bien le cas)

            for (int i = 0; i < dataSet.Tables["Artiste"].Rows.Count; i++)
            {

                Console.WriteLine(dataSet.Tables["Artiste"].Rows[i][0] + "\t\t" + dataSet.Tables["Artiste"].Rows[i][1]);
            }


Mais la ligne ajouter dans ma bdd vaut 0 pour l'id et rien pour le nom. C'est mon premier poste sur ce forum, donc si je m'y prend mal n'hésitez pas à m'en informer.

Bonne soirée.

5 réponses

lezj Messages postés 66 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 juillet 2013
26 févr. 2011 à 22:54
salut
est-ce que u peu nous montrer d'où proviennent tes paramètres?(id et nom)


Lez-J
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
27 févr. 2011 à 08:39
Bonjour

appelle la méthode dataTable.AcceptChange() ou dataSet.AcceptChange()
pour valider les modifications avant dataAdapter.Update().

Bob.
C# is amazing, enjoy it!
0
kalashw Messages postés 2 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 16:19
Bonjour,

Mes paramètres provienne de mon programme principal, le bout de code que j'ai donner faisant partie d'une classe nommée "BDD".

J'ai modifier un peu le programme. Je vous fait pars de mes modifications :
                 // Remplissage de la commande InsetCommand
                connection = (MySqlConnection)dataAdapter.SelectCommand.Connection;
                dataAdapter.SelectCommand.Connection.Open();
                dataAdapter.InsertCommand = new MySqlCommand("INSERT INTO  artiste (IdArtiste ,Nom)VALUES (@IdArtiste,  @Nom);", connection);

                //Ajout de noms aux colonnes
                dataAdapter.InsertCommand.Parameters.Add("@IdArtiste", MySqlDbType.Int16, 16, "IdArtiste");
                dataAdapter.InsertCommand.Parameters.Add("@Nom", MySqlDbType.VarChar, 100, "Nom");
                dataAdapter.Update(dataSet, "Artiste");              


                dataRow = dataTable.NewRow();
                dataRow = dataSet.Tables["Artiste"].NewRow();
                dataRow["IdArtiste"] = 1010;
                dataRow["Nom"] = "Puggy";
                
                dataSet.Tables["Artiste"].Rows.Add(dataRow);
                dataSet.AcceptChanges();

               // Mise à jour de la BDD à partir du DataSet
                dataAdapter.Update(dataSet, "Artiste");



Ce code me semble un peut mieux mais ne fonctionne toujours pas. Le dataSet prend bien en compte l'ajout d'un nouvel artiste mais apres le Update la bdd n'est toujours pas mise à jour.

Bonne journée.
0
lezj Messages postés 66 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 juillet 2013
3 mars 2011 à 11:13
bonjour,
comme une chose acquise par soi-même est une chose durable, au lieu de te donner une solution pré-machée, je t'envoie des liens qui je pense pourront t'aider à voir ce qui ne va pas.
*pour la mise à jour d'une BdD à partir d'un dataset:
clique ici
*pour l'inverse:
clique ici
*et la recommandation microsoft sur le sujet:
clique là

now si après çà tu ne comprends toujours pas, reviens poser des questions.

Lez-J
0

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

Posez votre question
lezj Messages postés 66 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 juillet 2013
3 mars 2011 à 11:15
Au fait, n'oublie pas de signaler sur le forum si l'une des solutions que nous t'avons proposé t'ont aidé;çà permettra à d'autres de s'orienter.

Lez-J
0
Rejoignez-nous