begin process at 2012 02 10 15:32:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

Access

 > 

Insertion dans une base de données!


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

Insertion dans une base de données!

jeudi 12 mars 2009 à 14:32:26 | Insertion dans une base de données!

Juju1988

Bonjour,

Débutante en C# je cherche à ajouter un enregistrement dans ma base de données depuis un formulaire de saisie je procède de cette manière :

OleDbCommand cmdAdd = new OleDbCommand(
            "INSERT INTO Tcontact (Nom, Prenom, Email, Url, comment, img) " +
            "VALUES (" + txtName.Text + "," + txtFirstName.Text + "," + txtMail.Text + "," + txtUrl.Text + "," + txtComment.Text + "," + txtPicture.Text + ")", cx);
            adapTContact.InsertCommand = cmdAdd;

cx est ma chaîne de connexion



Cependant lorsque j'exécute ce code rien ne se passe, ni ajout dans la base de données, ni dans la listview que j'utilise pour afficher mes enregistrements. Où se situe mon erreur?

Merci d'avance

jeudi 12 mars 2009 à 19:27:33 | Re : Insertion dans une base de données!

imothepe_33

Réponse acceptée !
On peut constater que tu utilise un DataSet. Si c'est vraiment le cas, tu dois au contraire faire ton insertion dans la table de ton DataSet :

DataRow newRow = TonDataSet.Tables["Tcontact"].NewRow;
//ensuite tu fais les affectations recquises
newRow["Nom"] = taValeur;
.....
.....
newRow["img"] = taValeur;

TonDataSet.Tables["Tcontact"].Rows.Add(newRow);

A ce niveau, tes données sont en mémoire dans le DataSet. Pour actualiser ta base de données tu fais appel à la fonction "Update" de ton DataAdapter comme suit:

adapTContact.Update(TonDataSet)

Dans l'instruction "adapTContact.InsertCommand = cmdAdd;" tu dis en fait à la fonction "Update" de "adapTContact" d'utiliser cette command pour mettre à jour ton DataSet par rapport à ta base de données.

Happy Coding.

Only the strong survive !
vendredi 13 mars 2009 à 10:10:28 | Re : Insertion dans une base de données!

Juju1988

J'ai modifié mon code, le problème est que cela s'ajoute bien dans la ListView mais pas dans la base de données :

// Création de la nouvelle ligne
            DataRow newLigne = dtSet.Tables["TContact"].NewRow();
           
           
                newLigne[1] = txtName.Text;
                newLigne[2] = txtFirstName.Text;
                newLigne[3] = txtMail.Text;
                newLigne[4] = txtUrl.Text;
                newLigne[5] = txtComment.Text;
                newLigne[6] = txtPicture.Text;

                dtSet.Tables["TContact"].Rows.Add(newLigne);

                // Création CommandBuilder
                //(génère automatiquement l'update entre le dataSet et la base de donnée


                OleDbCommandBuilder cmdBuild = new OleDbCommandBuilder(adapTContact);
                adapTContact.InsertCommand = cmdBuild.GetInsertCommand();
                adapTContact.Update(dtSet, "Tcontact") ;
           
            connexion();
            cx.Close();

Qu'est ce que j'oublie de faire?
vendredi 13 mars 2009 à 12:56:56 | Re : Insertion dans une base de données!

imothepe_33

Le problème se trouve au niveau de ta fonction "connexion". Elle n'est pas au bon endroit. Avant de faire une mise à jour, tu dois ouvrir la connexion avant; et ensuite la fermer. Donc appel ta fonction avant le bloc d'instruction:

 
                OleDbCommandBuilder cmdBuild = new OleDbCommandBuilder(adapTContact);
                adapTContact.InsertCommand = cmdBuild.GetInsertCommand();
                adapTContact.Update(dtSet, "Tcontact") ;

Only the strong survive !
dimanche 15 mars 2009 à 08:24:01 | Re : Insertion dans une base de données!

YbenAli

bonjour: Essayer ca.. CnxString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " + CheminBase; OleDbConnection Cnx = new OleDbConnection(CnxString); //ouverture de la connexion Cnx.Open(); OleDbCommand dtCmd = new OleDbCommand(Sql); OleDbConnection Cnx = new OleDbConnection(CnxString); dtCmd.Connection = Cnx; OleDbDataAdapter dtAdapter = new OleDbDataAdapter(dtCmd); DataSet dtSet = new DataSet("Nom_Table"); dtAdapter.Fill(dtSet, "Nom_Table"); DataRow dtRow = dtSet.Tables["Nom_Table"].NewRow(); //Creer les lignes dans la Table dtRow ["Nom_Champs1"] = Text1.Text ; dtRow ["Nom_Champs2"] = Text2.Text ; //Ajouter les lignes dtSet.Tables["Nom_Table"].Rows.Add(dtRow); OleDbCommandBuilder dtCmdB = new OleDbCommandBuilder(dtAdapter); dtAdapter.Update (dtSet, "Nom_Table"); //Afficher le resultat dans une DataGride dataGrid1.SetDataBinding(dtSet, "Nom_Table");


Cette discussion est classée dans : base, text, données, insertion, oledbcommand


Répondre à ce message

Sujets en rapport avec ce message

Insertion de données dans une base [ par Kleidp ] Bonjour, voici mon problème:J'essai d'insérer des données dans 2 tables liées par une clef primaire et étrangère. Les données sont affichées dans des datagrid et base de données [ par wayak3 ] Les donées de ma base sont affiché par un data grid .Avec le code suivant j'ajoute des données dans le datagridmaintenant j'aimerais savoir quel code insertion dans une base de données probleme de synthaxe [ par dibouched ] bonjour j'ai besoin d'aidej'ai voulu inserer dans une base de donnée my sql un text mais voila l'erreur qui se produit Détails de l'exception: Microso base de données dans un fichier text. [ par Lutinore ] Salut, j'ai un fichier texte ( UTF8 ) environ 2MO avec 10000 entrées, chaque ligne est une entrée, et chaque ligne contient un mot suivi par des valeu 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 Insertion à une base de données [ par caela ] Bonne année à tous et bonjour! voilà dans mon appli je dois faire des manipulations de données (ajout, suppression et modification) mais j'ai déjà un insertion des données dans la base de donée [ par samou19 ] j'ai une base de données et je veux insérer dedans des données et voila mon code je sais pas je reçois toujours le message : "Les variables du formula comment connecter une base de données oracle à C# [ par createursite ] bonjour... Je fais un PFE et je tente de connecter ma base de donées sous oracle 10g à mon apllication c#... En fait j'ai deja reussi a connecter une sauvegarder copie base de données [ par bachirmk ] bonjour,je developpe avec c# dans visual studio 2005,ma base données est créée avec sql server 2000,je veux quand l'utilisateur quitte l'application y XSD vers Database [ par keikun59 ] Bonjour, Je cherche une library/bout de code, permettant de transformer le schéma et tout le contenu d'un XSD vers une base de données. J'ai créé un


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,480 sec (3)

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