none
SQL et l'update ou l'insert c# [légèrement urgent : stage :/] RRS feed

  • Question

  • Bonjour,

    Dans mon application windows form c#, je dois, entre autres, gérer des produits et forcément leur prix. Quand je veux enregistrer un nouveau produit ou en modifier un en passant par mon programme, il arrondit constamment mes prix à l'entier le plus proche alors que ma variable c# est en double et mon champs sql en double(6,2).

    Je sais qu'il y a une discussion semblable mais elle ne répond pas à ma question car je n'utilise pas de procédure.

    Pour exemple, voici min morceau de code de modification de produit dans un datagridview :

    for (int r = 0; r < DGVGererproduit.RowCount; r++)
    {
        double prixu = Convert.ToDouble(DGVGererProduit[3,r].Value);
        int id = Convert.ToInt32(DGVGererProduit[0,r].Value); //J'avoue que ça ne sert pas à 
    //grand chose
        MySqlCommand req = new MySqlCommand();
        req.Connection = connexion;
        req.CommandText = "UPDATE PRODUIT SET PU = '" + prixu + "' where idProd = " + id;
        i = req.ExecuteNonQuery();
        
        if (i == 0)
        {
           MessageBox.Show("Erreur, la modification a échoué");
        }
    }

    Quelqu'un saurait comment ça se fait ? Et comment remédier à ça ? Je suis en stage donc c'est assez important :/

    Ah oui au fait, j'ai changé ma variable en double'6,2), decimal(6,2) et float (6,2) et mon champ tout pareil. J'ai voulu le mettre en real mais il le remet automatiquement en double, j'ai pas trop compris ça non plus.

    Bref voila, vous savez tout !

    Merci d'avance pour votre aide !

    Bonne journée :)

    milia

    jeudi 24 janvier 2013 09:16

Réponses

  • Oui, il faudrait un .

    C'est pour ça que tu as une erreur de syntaxe quand tu fais le test proposé par Aurel.

    La façon que tu utilise pour faire des requêtes n'est pas très propre : du coup, tu te retrouve avec ce genre de problème.

    Je t'invite à regarder ce post qui va te donner une meilleur façon de programmer tes requêtes.

    Sinon, mais c'est moche : tu remplace la , par un .   (mais c'est très moche... si j'étais ton maître de stage, tu prendrais chers !!! ;-)  )

    Cordialement.


    Merci de tagger "Proposer comme réponse" et/ou "Utile" si un post répond à votre demande.

    • Proposé comme réponse Hervé DORIER vendredi 25 janvier 2013 09:42
    • Marqué comme réponse Milia vendredi 25 janvier 2013 10:41
    vendredi 25 janvier 2013 09:42

Toutes les réponses