Partage
  • Partager sur Facebook
  • Partager sur Twitter

UNION dans Selectcombo en C sharp

    19 décembre 2018 à 16:26:24

    Bonsoir, j'aimerai que lorsque je sélectionne  un produits de ma liste déroulante les données stock initial ,entrée_stock et sortie_stock s'affiche automatiquement sur les Textbox reservés; sachant que ces donnees proviennent de trois tables non jointes ,ma requete fonctionne sur mysql mais pas sur visual studio. merci de m'aider, voila mon script

    private void txtcombo_SelectedIndexChanged(object sender, EventArgs e)
            {
              
                {
                    string selectcombo = " SELECT SUM(qte_achetee) as entree_stock from achats where nom_produit='"+txtcombo.Text+"' union all select SUM(qte_vendue)as sortie_stock from ventes where nom_produit='"+txtcombo.Text+"'";
                     MySqlCommand command = new MySqlCommand(selectcombo, connexion);
                    MySqlDataReader myReader;

                    try
                    {
                        connexion.Open();
                        myReader = command.ExecuteReader();

                        while (myReader.Read())

                        {
                           
                            string entree_stock = myReader.GetInt32("entree_stock").ToString();
                            string sortie_stock = myReader.GetInt32("sortie_stock").ToString();

                            txtES.Text = entree_stock;
                            txtSS.Text = sortie_stock;


                        }

                    }

                    catch (Exception)
                    { }
                    connexion.Close();
                }

            }

    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2018 à 16:37:18

      Bonsoir,

      N'hésite pas a nous montrer le message d'erreur que VS te sort 

      As tu verifié en debuggant que la requete envoyé par ton programme est bien comme tu supposes qu'elle l'est ?

      Je sais qu'a chaque fois que j'utilises des combobox, je m'emmêle les pinceaux entre les .Text, .SelectedIndex, .SelectedValue, .SelectedText etc. Je pense que tu devrais regarder de ce côté ;) 

      Sinon, a ta place je ne m’embêterai pas et je ferai 2 requêtes séparés

      PS : Utilise les balises de code ;)

      -
      Edité par earp91 19 décembre 2018 à 16:45:25

      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2018 à 21:18:19

        Salut, merci de ton aide, j'ai éssayé de débugger mais j'ai aucun méssage d'érreur et le code ne fonctionne pas.

        Peux-tu mieux m'expliquer pour les deux requetes stp?

        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2018 à 10:17:52

          Hello,

          Tu dis que le code ne fonctionne pas, de quel facon ? Ca ne compile pas ? Ca crash ? Si oui il y a forcément un message

          Tu devrais mettre un point d'arret juste apres la formation de ta requete, en verifié le contenu et la tester directement sur ton MySQL pour vérifier que tu obtiens bien le bon résultat.

          Sinon, je ne vois pas l'interet de faire un UNION ALL entre tes deux requetes, tu pourrais simplement utiliser deux requetes distinctes, comme ceci (fais à la va vite il y a peut etre des erreurs)

          private void txtcombo_SelectedIndexChanged(object sender, EventArgs e)
                  {
                     
                      {
                          string selectEntree = " SELECT SUM(qte_achetee) as entree_stock from achats where nom_produit='"+txtcombo.Text+"'"
                          string selectSortie = "select SUM(qte_vendue)as sortie_stock from ventes where nom_produit='"+txtcombo.Text+"'";
          				MySqlCommand commandEntree = new MySqlCommand(selectEntree, connexion);
          				MySqlCommand commandSortie = new MySqlCommand(selectSortie,connexion);
                          MySqlDataReader myReaderEntree,myReaderSortie;
          
                          try
                          {
                              connexion.Open();
                              myReaderEntree = commandEntree.ExecuteReader();
          
                              while (myReaderEntree.Read())
          
                              {
                                  
                                  string entree_stock = myReader.GetInt32("entree_stock").ToString();
                                  
          
                                  txtES.Text = entree_stock;
                                  
          
          
                              }
          					myReaderSortie = commandSortie.ExecuteReader();
          					while(myReaderSortie.Read())
          					{
          						string sortie_stock = myReaderSortie.GetInt32("sortie_stock").ToString();
          						xtSS.Text = sortie_stock;
          					}
          
                          }
          
                          catch (Exception)
                          { }
                          connexion.Close();
                      }
          
                  }
          
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2019 à 19:00:28

            Ça serait quand même largement plus simple d'utiliser les fonctionnalités des DataSet et pas ces cochonneries de DataReader.

            Et à la place de ces "try/catch" tout dégueux, un "using{...}", c'est quand même largement plus lisible et safe.

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

            UNION dans Selectcombo en C sharp

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown