begin process at 2010 02 09 18:01:58
  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 Comment actualiser une base de données c# [ par piegues007 ] bjr tt le monde et bonne année à tous!!! bn, jvais entrer dans le vif du sujet: j'aimerais savoir comment actualiser une base de données. En fait, l Requete access entre deux base de données [ par rachellay ] Bonjour, je voudrai savoir si il y a une possibilité de faire une requete access entre deux base de données séparantes, mercii .. Stratégie de sécurité sans base de données access [ par PROTEUS91 ] Hello all. Voilà je laisse ce message afin de savoir si certain d' entre vous ont déjà utilise une stratégie de sécurité dans leurs applications. Po sauvegarde base de données [ par djbabou ] Salut à tous juste une petite question toute bête : j'aimerais sauvegarder une base de données mysql ( structure + données ) dans un fichier texte (


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,499 sec (3)

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