Probleme avec Insertion SQL

rmk2017 - 9 déc. 2016 à 11:17
 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
A voir également:

3 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
14 janv. 2017 à 18:40
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();
		
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
14 janv. 2017 à 18:44
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.
0
Ok, Merci, je reviendrais pour dire comment cela donné le résultat
0
Rejoignez-nous