Probleme avec Insertion SQL

rmk2017 - 9 déc. 2016 à 11:17 - Dernière réponse :  rmk2017
- 15 janv. 2017 à 14:56
Bonjour, voici ceque j'ai fait avec ODBC BDD access a resi
System.Data.Odbc.OdbcCommand commd=new System.Data.Odbc.OdbcCommand("insert into article(num_article,designation,type_article,qte_en_stock,prix_unitaire,tva_article,fiche_tech) values(?,?,?,?,?,?,?)",cnx);
                    try
  {commd.Parameters.Add("num_article", Convert.ToDecimal(txt_num_article.Text));
                        commd.Parameters.Add("designation", txt_designation.Text);
                        if (txt_type.Text != "")
                            commd.Parameters.Add("type_article", txt_type.Text);
                        else
                        commd.Parameters.Add("type_article", "indéfini");
                        commd.Parameters.Add("qte_en_stock", Convert.ToDecimal(txt_quantité.Text));
                        commd.Parameters.Add("prix_unitaire", Convert.ToDecimal(txt_pu.Text));
                        if (txt_tva.Text == "12%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,12"));
                        else if (txt_tva.Text == "18%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,18"));
                        else if (txt_tva.Text == "1%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("1"));
                        else if (txt_tva.Text == "11%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,11"));
                        else if (txt_tva.Text == "13%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,13"));
                        else if (txt_tva.Text == "14%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,14"));
                        else if (txt_tva.Text == "15%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,15"));
                        else if (txt_tva.Text == "16%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,16"));
                        else if (txt_tva.Text == "17%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,17"));
                        else if (txt_tva.Text == "19%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,19"));
                        else if (txt_tva.Text == "20%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,2"));
                        else if (txt_tva.Text == "9%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,09"));
                        else if (txt_tva.Text == "8%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,08"));
                        else if (txt_tva.Text == "7%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,07"));
                        else if (txt_tva.Text == "6%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,06"));
                        else if (txt_tva.Text == "5%")
                            commd.Parameters.Add("tva_article", Convert.ToDouble("0,05"));
                        if (txt_ficheTech.Text != "")
                            commd.Parameters.Add("fiche_tech", txt_ficheTech.Text);
                        else
                            commd.Parameters.Add("fiche_tech", "indéfini");
                    }

Mais je veut utiliser cette foici la BDD SQL et ca tourne bien sauf que mon comboBox du choix de la valeur TVA ne s'enregistre pas, et j'ai crée une classe de Connexion mais je suis bloqué juste pour inserer la TVA je cherche une idée
void add()                     
        {            if (txt_tva.Text == "12%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,12"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,12") + "')";
            else if (txt_tva.Text == "18%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,18"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,18") + "')";
            else if (txt_tva.Text == "1%")
                //commd.Parameters.Add("tva_article", Convert)Z.ToDouble("1"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("1") + "')";
            else if (txt_tva.Text == "11%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,11"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,11") + "')";
            else if (txt_tva.Text == "13%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,13"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,13") + "')";
            else if (txt_tva.Text == "14%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,14"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,14") + "')";
            else if (txt_tva.Text == "15%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,15"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,15") + "')";
            else if (txt_tva.Text == "16%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,16"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,16") + "')";
            else if (txt_tva.Text == "17%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,17"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,17") + "')";
            else if (txt_tva.Text == "19%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,19"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,19") + "')";
            else if (txt_tva.Text == "20%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,2"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,2") + "')";
            else if (txt_tva.Text == "9%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,09"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,09") + "')";
            else if (txt_tva.Text == "8%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,08"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,08") + "')";
            else if (txt_tva.Text == "7%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,07"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,07") + "')";
            else if (txt_tva.Text == "6%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,06"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,06") + "')";
            else if (txt_tva.Text == "5%")
                //commd.Parameters.Add("tva_article", Convert.ToDouble("0,05"));
                ROI.roi = "insert into article (tva_article) values ('" + Convert.ToDouble("0,05") + "')";
            { try {
                
                 ROI.roi = "insert into article(num_article,designation,type_article,qte_en_stock,prix_unitaire,fiche_tech) values( '" + txt_num_article.Text + "' ,'" + txt_designation.Text + "','" + txt_type.Text + "','" + txt_quantité.Text + "','" + txt_pu.Text + "','" + txt_ficheTech.Text + "')";
                    { 
                        ROI.RoiCon();
                        ROI.RoiENdcnx();
                        initia();
                    }
                    MessageBox.Show("Données ajoutées", "Ajout effectué", MessageBoxButtons.OK, MessageBoxIcon.Information);

par contre quand j'ai crée un classe de connexion en SQL je fait ceci et il enregistre sau le TVA cad
commd.Parameters.Add("tva_article", Convert.ToDouble("0,12"));

marchait très bien avec ODBC mais comment le changer en utilisant sql??? et
ROI.roi = "insert into article(num_article,designation,type_article,qte_en_stock,prix_unitaire,fiche_tech) values( '" + txt_num_article.Text + "' ,'" + txt_designation.Text + "','" + txt_type.Text + "','" + txt_quantité.Text + "','" + txt_pu.Text + "','" + txt_ficheTech.Text + "')";

insert bien les ajouts SAUT TVA
Afficher la suite 

3 réponses

Répondre au sujet
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 14 janv. 2017 à 18:40
0
Utile
Bonsoir

Utilises plutôt des requêtes paramétrées plutôt que du texte pur, ça permet au moteur SQL de gérer les types de données
exemple
string Query = @"
	INSERT INTO article (num_article,designation,type_article,qte_en_stock,prix_unitaire,fiche_tech) 
	values ( @num_article, @designation, @type_article, @qte_en_stock, @prix_unitaire, @fiche_tech)
	";
command = new SqlCommand(Query, con);
			
command.Parameters.AddWithValue("@num_article",txt_num_article.Text);
command.Parameters.AddWithValue("@designation",txt_designation.Text);
command.Parameters.AddWithValue("@type_article",txt_type.Text);
command.Parameters.AddWithValue("@qte_en_stock",txt_quantité.Text);
command.Parameters.AddWithValue("@prix_unitaire",txt_pu.Text);
command.Parameters.AddWithValue("@fiche_tech",txt_ficheTech.Text);
			
command.ExecuteNonQuery();
		
Commenter la réponse de cs_Robert33
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 14 janv. 2017 à 18:44
0
Utile
Re

en fait tu peux faire exactement la même chose avec SQL que ODBC, mais il faut nommer les paramètres avec un '@' en début.
Commenter la réponse de cs_Robert33
0
Utile
Ok, Merci, je reviendrais pour dire comment cela donné le résultat
Commenter la réponse de rmk2017

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.