begin process at 2010 02 10 02:44:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Base de données

 > 

Enregistrement dans la base de données avec un DataSet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enregistrement dans la base de données avec un DataSet

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ée 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 maj dataset [ par borgeomi ] borgeomibonjouuuuuuur !!!!!bonjour je met à jour une datatable dans un dataset par 2 dataadapter ( une pour chaque base de donnees NB meme tables mais C# é base de données [ par nehAm ] Salut tt l monde, j ve exécuté une requete d'ajout alor k jé d champs facultatif a remplir comme champ email (textbox7) é champs numéro de téléphone p gestion de base de données à distance [ par adsana ] bonjour dans mon appli j'ai besoin de me connecter à une BD distante (autre serveur)et d'effectuer toutes les opération de mises à jour(select,insert


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales