Partage
  • Partager sur Facebook
  • Partager sur Twitter

modifier la BD

    8 octobre 2011 à 16:37:41

    Bonjour,
    j'utilise ADO, sqlserverCE. j'utilise le connectionString pour la configuration, puis le SqlCeConnection pour la connexion, et le SqlCeCommand pour la commande, et je fais commande.ExecuteNonQuery(). mais le problème c'est que après plusieurs exécution, toutes les modifications que j'ai faite dans la BD sont perdus.
    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2011 à 18:18:40

      Un petit code serait le bien venu.
      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2011 à 18:59:40

        voici un petit code qui ajoute a la table achat, les achats qu'a fait le client et diminue la quantité en stock des produits qui on été acheté.
        public void buttonValider_Click(object sender, EventArgs e)
                {
                    try
                    {
                        connectionString = ConfigurationManager.ConnectionStrings["WindowsFormsApplication1.Properties.Settings.ConnectionString"].ConnectionString;
                    }
                    catch (Exception t)
                    {
                        Console.Error.WriteLine("Erreur de configuration :" + t.Message);
                    }
                    try
                    {
                        using(SqlCeConnection connexion = new SqlCeConnection(connectionString))
                        {
                            int rowcou = gridProduit.RowsCount;
                            connexion.Open();
                            string update1 = "update stock set Qte = (Qte -";
                            string insert = "insert into vente values(";
                            for (int i = 1; i < rowcou; i++)
                            {
                                SqlCeCommand commande = new SqlCeCommand(update1 + gridProduit[i, 3].Text + ") where Ref =" + gridProduit[i, 0].Text, connexion);
                                commande.ExecuteNonQuery();
                            }
        
                            try
                            {
                                SqlCeCommand command = new SqlCeCommand("select max(NumVente) from vente", connexion);
                                SqlCeDataReader reader = command.ExecuteReader();
                                reader.Read();
                                int id;
                                if (reader[0] != null)
                                {
                                    id = int.Parse(reader[0].ToString().Trim());
                                    id++;
                                }
                                else
                                    id = 1;
                                 SqlCeCommand commande2 = new SqlCeCommand(insert + id.ToString() +",'"+DateTime.Now.ToString() +"','" + textPrixTotal.Text + "')", connexion);
                                int nbr = commande2.ExecuteNonQuery();
                            for (int i = 1; i < rowcou; i++)
                            {
                                SqlCeCommand commande = new SqlCeCommand("insert into listeVente values(" + id.ToString() + "," + gridProduit[1, 0].Text + "," + gridProduit[1, 3].Text + ",'" + gridProduit[1, 4].Text + "')", connexion);
                                int bn = commande.ExecuteNonQuery();
                                gridProduit.RemoveRow(1);
                            }
                             }
                             catch(Exception ex)
                             {
                                    MessageBox.Show("erreur commande : "+ex.Message);
                             }
                            //dataGridStock.DataSource = null;
                            this.stockTableAdapter1.Fill(this.tableauStock.stock);
                            this.venteTableAdapter.Fill(this.vente_DataSet.vente);
                            //dataGridStock.DataSource = tableauStock.stock;
                            //dataGridStock.Refresh();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Erreur de Connexion :" + ex.Message);
                    }
                }
        
        • Partager sur Facebook
        • Partager sur Twitter
          9 octobre 2011 à 11:35:43

          A mon avis, c'est ta requête SQL qui doit poser problème vu que tu peux récupérer tes données pour pouvoir les modifiées.
          Dans ta BDD, ta référence qui provient de gridProduit[i, 0].Text est un varchar?
          • Partager sur Facebook
          • Partager sur Twitter
            9 octobre 2011 à 19:00:34

            non c'est un int, mais le problème c'est qu'avec la gestion des exceptions, je suis sûre que le problème ne se pose pas là, en plus quand je visualise les données dans un datagridview, je vois les nouvelle valeur, mais pas dans ma BDD Access. autre chose, j'ai même essayer le mode déconnecter, et ça ne marche toujours pas.
            • Partager sur Facebook
            • Partager sur Twitter
              9 octobre 2011 à 20:39:10

              Recrée un data adapter et penche toi sur la methode Upate() de celui-ci il faut que je vérifie dans un de mes projets, je pourrais te dire ça lundi
              • Partager sur Facebook
              • Partager sur Twitter

              modifier la BD

              × 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