Insertion

Résolu
soniafeki Messages postés 15 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 30 avril 2009 - 17 avril 2009 à 21:04
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 19 avril 2009 à 08:24
Bonjour , je travaille en c#.Je veux que lorsque j'insere des donnés il s'ajoutent a ma table or ca ne marche pas pour moi .svp aidez moi.Merci pour l'aide.

6 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
18 avril 2009 à 08:15
Bonjour

On voudrait bien t'aider, mais il faudrait nous en dire plus.

Tu peux me croire sur parole, car je sais par experience que lorsqu'on ajoute des données à un table elle finissent toujours par s'y trouver lol.

Donne nous le bout de code que tu utilises pour inserrer tes données, et eventuellement le message d'erreur que tu récuperes.

A+
C# is amazing, enjoy it!
3
soniafeki Messages postés 15 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 30 avril 2009
18 avril 2009 à 09:33
Bonjour, voici mon code, mais ca ne lmarche pas pour l'insertion dans la table dans laquel je veux inserer

connection.Open();
// Creation d'une ligne de meme schema de table

dr = dt.NewRow();
dr["nomind"] = i1.txtbox1indicateur.Text.Trim();
dr["requete_sql"] = i1.txtBox3requete.Text.Trim();
dr["nomconn"] = i1.cmbBox1nomcon.Text.Trim();
dr["nomvue"] = i1.cmbbox1vue.Text.Trim();
dr["titregraphe"] = pi.txttitregraphe.Text.Trim();
// Ajouter cette ligne a la table
dt.Rows.Add(dr);
binding.DataSource = dt;
et j'ai essayer aver ce code:
//SqlCommand cmd2 = new SqlCommand("INSERT INTO Indicateur(nomind, requete_sql,nomconn,nomvue,titregraphe) VALUES ('" + i1.txtbox1indicateur.Text.Trim() + "', '" + i1.txtBox3requete.Text.Trim() + "', '" + i1.cmbBox1nomcon.Text.Trim() + "','" + i1.cmbbox1vue.Text.Trim() + "','" + pi.txttitregraphe.Text.Trim() + "')", connection);
//cmd2.ExecuteNonQuery();
// Fermeture connection
connection.Close();
le message d'erreur: Column 'nomind' does not belong to table .
or tous ses colonne existe dans ma table et aussi je l'est ecrit telqui'il sont.
Merci de m'aidez.
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
18 avril 2009 à 10:40
Bonjour

Dans la premiere partie de ton code, tu ajoutes une ligne dans ta table, c'est bien, mais cela ne suffit pas à mettre à jour la base de données, ta table n'est qu'en mémoire, il faut mettre à jour la base une fois la table en mémoire modifiée.
pour faire le lien entre la base et les tables en mémoire, tu peux utiliser un DataAdpater. Si non tu peux ecrire les requettes.

Dans la deuxiemen partie du code (celle en commentaire), je ne vois pas de probleme cela devrait marcher.
Si tu as un message d'erreur indiquant qu'une colonne est manquante c'est qu'elle l'est (manquante)
Si tu es sûr de toi, sur la définition de la table, c'est sans doute que tu n'es pas connecté à la bonne base.
Verifie ta chaine de connexion, puis essaye une requette Select (genre Select * from Indicateur) et récupere dans un DataReader, que tu examines sous debugger, là tu verras le nom des colonnes retournées.

A+

C# is amazing, enjoy it!
0
soniafeki Messages postés 15 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 30 avril 2009
18 avril 2009 à 14:36
Bonjour , s'il vous plait indiquer moi comment mettre à jour la base une fois la table en mémoire modifiée.Ou bien comment connecté à la bonne base.
Merci de m'aidez.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
soniafeki Messages postés 15 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 30 avril 2009
18 avril 2009 à 14:50
Bonjour, moi en utilisant ce code
//SqlCommand cmd2 = new SqlCommand("INSERT INTO Indicateur(nomind, requete_sql,nomconn,nomvue,titregraphe) VALUES ('" + i1.txtbox1indicateur.Text.Trim() + "', '" + i1.txtBox3requete.Text.Trim() + "', '" + i1.cmbBox1nomcon.Text.Trim() + "','" + i1.cmbbox1vue.Text.Trim() + "','" + pi.txttitregraphe.Text.Trim() + "')", connection);
//cmd2.ExecuteNonQuery();
// Fermeture connection
connection.Close();
je trouve ce message d'erreur :
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Indicateur_Parametre". The conflict occurred in database "parametretb", table "dbo.Parametre", column 'titregraphe'.
The statement has been terminated.
mais je ne sais pas c'est quoi svp envoyer moi la bonne pr'ogrammation.
Merci pour votre aide.
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
19 avril 2009 à 08:24
Bonjour,

on ne peut pas t'envoyer "la bonne programmation" car ton code est correct.
Ce qui ne va pas c'est l'algorythme.

Tu essaies d'inserrer des données dans un table qui a une relation "FK_Indicateur_Parametre"
Relation entre la table "Indicateur" et la table "Parametre", sur la colonne 'titregraphe', il faut donc que la valeur que tu definis pour TitreGraphe existe dèjà dans la table "Parametre".
il faut donc que tu inserres d'abord les données dans la table de réference "Parametre" ensuite tu pouras inserer dans la table "Indicateur".

C# is amazing, enjoy it!
0
Rejoignez-nous