none
Application WPF C# Requête UPDATE d'un champ d'une BD Access RRS feed

  • Question

  • Bonjour, voici un code qui doit mettre à jour un champ (ENTSTK_PNET) d'une ligne d'une base de donnée Access.

    L'utilisateur Indique dans un TextBox (LignToDeleteTxtBox)le numéro de ligne à mettre à jour (ENTSTK_ID)

    Il entre ensuite dans une autre Textbox (NewPnetTxtBox) la nouvelle valeur du champ (ENTSTK_PNET).

    mon soucis est que le code ne retourne aucune erreur mais la base de donnée ne se met pas à jour.

     private void UpdateData()
            {
                try
                {
                    comm = new OleDbCommand("UPDATE ENTREES_STOCKS SET [ENTSTK_PNET]=@ENTSTK_PNET WHERE [ENTSTK_ID]=@ENTSTK_ID", conn);
                    comm.Parameters.AddWithValue("ENTSTK_ID", Convert.ToInt32(LignToDeleteTxtBox.Text));
                    comm.Parameters.AddWithValue("ENTSTK_PNET", Convert.ToDouble(NewPnetTxtBox.Text));
                    comm.CommandType = CommandType.Text;
                    conn.Open();
                    comm.ExecuteNonQuery();
                    Message.InfoMessage("Modifications enregistrées.");
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    if (conn!=null)
                    {
                        conn.Close();
                    }
                }
            }


    JF Collombet ® CreateSpecificCulture

    mardi 20 février 2018 08:16

Réponses

  •  

    Bonjour,
    Consultez la réponse de Simon Mourier pour CommandType et la réponse de nawfal pour l'ordre des paramètres:
    OleDbCommand won't UPDATE MS Access database, no errors thrown
    Vous pouvez essayer de changer les deux lignes comme suit:

    comm.Parameters.AddWithValue("ENTSTK_PNET", Convert.ToDouble(NewPnetTxtBox.Text));
     comm.Parameters.AddWithValue("ENTSTK_ID", Convert.ToInt32(LignToDeleteTxtBox.Text));


    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    mercredi 21 février 2018 08:03
    Modérateur

Toutes les réponses

  •  

    Bonjour,
    Consultez la réponse de Simon Mourier pour CommandType et la réponse de nawfal pour l'ordre des paramètres:
    OleDbCommand won't UPDATE MS Access database, no errors thrown
    Vous pouvez essayer de changer les deux lignes comme suit:

    comm.Parameters.AddWithValue("ENTSTK_PNET", Convert.ToDouble(NewPnetTxtBox.Text));
     comm.Parameters.AddWithValue("ENTSTK_ID", Convert.ToInt32(LignToDeleteTxtBox.Text));


    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    mercredi 21 février 2018 08:03
    Modérateur
  • C'était effectivement juste un ordre dans les paramètres à modifier !!

    un grand merci à vous !


    JF Collombet ® CreateSpecificCulture

    mercredi 21 février 2018 11:01