cs_Juju1988
Messages postés70Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention21 juin 2011
-
12 mars 2009 à 14:32
cs_YbenAli
Messages postés11Date d'inscriptionsamedi 1 novembre 2008StatutMembreDernière intervention22 mars 2009
-
15 mars 2009 à 08:24
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 :
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?
imothepe_33
Messages postés168Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention28 novembre 20127 12 mars 2009 à 19:27
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.
imothepe_33
Messages postés168Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention28 novembre 20127 13 mars 2009 à 12:56
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:
cs_YbenAli
Messages postés11Date d'inscriptionsamedi 1 novembre 2008StatutMembreDernière intervention22 mars 2009 15 mars 2009 à 08:24
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");