Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Enregistrement dans la base de données avec un DataSet [ Archives / Base de données ] (leviz)

vendredi 18 novembre 2005 à 11:40:46 | Enregistrement dans la base de données avec un DataSet

leviz

Bonjour!
Je suis un novice en C#. J'éprouve quelques difficulté à sauvegarder les changements amenés dans mon DataSet dans ma base de données. Une erreur apparait lorsque j'invoque mon service web.

Ce que je désire, c'est modifié une cellule de mon DataSet et ensuite faire un Update pour enregister mes données dans ma base de données.

Voici le code:

        MyDataAdapter = new MySqlDataAdapter("Select * FROM test_viz", MyConnexion);
        DataSet MyDataSet = new DataSet();
        MyDataAdapter.Fill(MyDataSet, "test_viz");

        string NewValue = "Marcello";
        DataRow MyRow = MyDataSet.Tables["test_viz"].Rows[0];

        MyRow["prenom"] = NewValue;
        MyDataSet.Tables["test_viz"].Rows.InsertAt(MyRow, 2);

        MyDataAdapter.Update(MyDataSet);


vendredi 18 novembre 2005 à 13:21:47 | Re : Enregistrement dans la base de données avec un DataSet

Crazyht

Administrateur CodeS-SourceS
Pour te servir de la methode Update d'un dataadapter il te faut definir la SqlCommand d'insert et d'update (Voir les propriétés qui de tête doivent ressemblées a UpdateCommand et InsertCommand )

A++

 CrazyHT
MVP Visual C#.NET
logo.gif

vendredi 18 novembre 2005 à 13:23:37 | Re : Enregistrement dans la base de données avec un DataSet

crougni

Salut leviz,

un chtit aperçu de ton erreur non ?





vendredi 18 novembre 2005 à 13:33:47 | Re : Enregistrement dans la base de données avec un DataSet

leviz

Je comprends un peu mieux comment faire! J'essais et je vous redonnerais de mes nouvelles. A+

vendredi 18 novembre 2005 à 14:23:58 | Re : Enregistrement dans la base de données avec un DataSet

leviz

Je n'y arrive toujours pas! Il y a encore des erreurs.
Si quelqu'un peut me dire ou je fais l'erreur : (Pour rappel: je possède une table dans une base de données MySql qui se nomme "test_viz" et cette table se compose de trois champ "id", "nom" et "prenom"). Il y a déjà des donnée préenregistrer mais je désire modifier l'une des données de ma base de données: c'est le champs "prenom" de l'id 2 que j'aimerais pouvoir remplacer par un autre prénom.)

Voici mon code :


        string MyConnexionString = String.Format("server=localhost;user id=root; password=Diplome05; database=test;                                                                                                                                                     pooling=false");

        MyConnexion = new MySqlConnection(MyConnexionString);
        MyConnexion.Open();

        MyDataAdapter = new MySqlDataAdapter("Select * FROM test_viz", MyConnexion);

        MyDataAdapter.TableMappings.Add("test_viz","test");

        MyDataAdapter.UpdateCommand = new MySqlCommand("UPDATE test_viz SET nom = @nom, prenom =                                                            @prenom, WHERE id = @id ", MyConnexion);
        MyDataAdapter.UpdateCommand.Parameters.Add("@prenom",MySqlDbType.String, 45, "prenom");
        MyDataAdapter.UpdateCommand.Parameters.Add("@nom", MySqlDbType.String, 45, "nom");
        MyDataAdapter.UpdateCommand.Parameters.Add("@id",MySqlDbType.Int32,4, "id");

        DataSet MyDataSet = new DataSet();

        MyDataAdapter.Update(MyDataSet, "test_viz");
       
        //On récupère les données du DataSet
        MyDataAdapter.Update(MyDataSet, "test_viz");

            MyDataSet.AcceptChanges();
            MyDataSet.Clear();
            MyDataAdapter.Fill(MyDataSet, "test_viz");

            string coo1 = MyDataSet.Tables["test_viz"].Rows[1].ItemArray[2].ToString();

        MyConnexion.Close();


vendredi 18 novembre 2005 à 14:31:22 | Re : Enregistrement dans la base de données avec un DataSet

leviz

J'ai pas vu deux erreurs un peux stupide mais ca ne marche toujours pas dans le code précédent! que j'ai corrigé dans le code suivant.


Nouveau code:


        string MyConnexionString = String.Format("server=localhost;user id=root; password=Diplome05; database=test; pooling=false");

        MyConnexion = new MySqlConnection(MyConnexionString);
        MyConnexion.Open();

        MyDataAdapter = new MySqlDataAdapter("Select * FROM test_viz", MyConnexion);

        MyDataAdapter.TableMappings.Add("test_viz","test");

        MyDataAdapter.UpdateCommand = new MySqlCommand("UPDATE test_viz SET nom = @nom, prenom = @prenom, WHERE id                                                                                                 = @id ", MyConnexion);
        MyDataAdapter.UpdateCommand.Parameters.Add("@prenom",MySqlDbType.String, 45, "prenom");
        MyDataAdapter.UpdateCommand.Parameters.Add("@nom", MySqlDbType.String, 45, "nom");
        MyDataAdapter.UpdateCommand.Parameters.Add("@id",MySqlDbType.Int32,4, "id");

        DataSet MyDataSet = new DataSet();

        MyDataAdapter.Update(MyDataSet, "test_viz");
       
            MyDataSet.AcceptChanges();
            MyDataSet.Clear();
            MyDataAdapter.Fill(MyDataSet, "test_viz");

            //On récupère les données du DataSet
            string coo1 = MyDataSet.Tables["test_viz"].Rows[1].ItemArray[2].ToString();

        MyConnexion.Close();



vendredi 18 novembre 2005 à 16:39:02 | Re : Enregistrement dans la base de données avec un DataSet

Crazyht

Administrateur CodeS-SourceS
Et tu as une exception ou ca fait juste rien ?

Y a t il des nouvelles lignes ou tu ne fait que modifier l'existant ?

A++

 CrazyHT
MVP Visual C#.NET
logo.gif
<

vendredi 18 novembre 2005 à 21:21:01 | Re : Enregistrement dans la base de données avec un DataSet

leviz

J'ai juste supprimer deux lignes par rapport au code précédent.
Lorsque je compile et que j'invoque mon service web, j'ai une exception!

vendredi 18 novembre 2005 à 23:23:48 | Re : Enregistrement dans la base de données avec un DataSet

coq

Administrateur CodeS-SourceS
Je pense qu'il est important de dire laquelle et de donner les informations qui l'accompagne :-)



/*
coq
MVP Visual C#
*/

samedi 19 novembre 2005 à 00:04:01 | Re : Enregistrement dans la base de données avec un DataSet

Crazyht

Administrateur CodeS-SourceS
De plus si tu efface des lignes il faut renseigné la propriete DeleteCommand

A++

 CrazyHT
MVP Visual C#.NET
logo.gif
<


1 2

Cette discussion est classé dans : base, données, test, dataset, mydataset


Répondre à ce message

Sujets en rapport avec ce message

optimisation bases de données [ par happyfish ] Je fait une appli ki transfere les données d'une base vers une autre. Je voulais savoir quel est le meilleur moyen pour les insertions/updates de la n DataSet et bd ... [ par maevacmoi ] Hello !J'ai fait un service web (C#) qui me retourne un dataSet, contenant les valeurs extraites d'une base de données. Je voudrai maintenant insérer Mise à jour des données du dataset vers la base de données [ par chafaqis ] salut tt le mondeJ'ai crée une application Win form en C# mon problème est le suivant:j'ai affichée le résultat d'un dataset dans un datagrid puis j'a Bug DataSet : il retourne le double de ce qu'il devrait ! [ par zigxag ] Bonjour,Je possède une base de données. Je voulais, grâce aux methodes sqlSelectCommand, sqlDeleteCommand et sqlUpdateCommande générées par visual stu Ultra Important: Pb ajout dans une base avec un CurrencyManager [ par Kleidp ] Bonjour à tous, Je vais tenter de vous expliquer mon problème: J'accède à mes données grâce à un CurrencyManager qui pointe sur un DataSet ( remplit Actualisation d'un DataSet [ par vmontagnon ] Salut,J'ai une IHM en C# avec connexion sur base MySQL. Je souhaite provoquer l'actualisation des données affichées le plus simplement possible.J'util connexion avec Base de Données MySQL [ par rakyouna ] Salut,J'utilise une BD MySQL avec C#. J'ai installé un driver MySQL pour .NET mais je n'arrive à me conecter correctement à ma BD."MySql.Data" n'est p Crystal report dans visual c# 2005 [ par FOSTA ] Bonjour,j'utilise une base de données oracle, je réussis à réaliser mes états, en exécution les état crystal report s'affichent normalement. Mais une sauvegarde des enrichissements dans une base de données [ par peter000 ] Bonsoir à tous il me semble, à moi un débutant, qu'un richtextbox lié à une table de données ne transmet que le texte brut. y-a-t-il moyen avec visual


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.