Bonjour à tous,

Je bute sur cette instruction SQL dont voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
       var query = "SELECT SUM(replace(montant_total_cmd, ',', '')) FROM Tble_Commande WHERE Annee = '" + Annee_en_Cour + "'";
                using (var cmd = new SQLiteCommand(query, Program.Connex_Bdd))
                {
                  int sum = Convert.ToInt32(cmd.ExecuteScalar());
                    Program.Montant_ttle = cmd.ExecuteScalar().ToString();
                    MessageBox.Show(string.Format("{0:0.00}", sum));
                }
Dans cet exemple je veux trouver la somme de (145,15 + 191,86 + 117,60 + 218,80) ce qui fait normalement 673,41

Mais avec la valeur ci-dessous j'obtiens 67341
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.ExecuteScalar().ToString()
et avec la valeur ci-dessous j'obtiens 67341,00
Code : Sélectionner tout - Visualiser dans une fenêtre à part
string.Format("{0:0.00}", sum)
Malgrès mes recherches je n'arrive pas à obtenir 673,41

Dans ma base de données Sqlite j'ai des virgules et non des points de type REAL.

J'avais pensé à cette solution ci-dessous mais le résultat donne ceci 67341
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
                    double sum = Convert.ToInt32(cmd.ExecuteScalar());
                    MessageBox.Show("" + Math.Round(sum, 2));
Qui peut m'aider à retrouver la vrai valeur avec deux chiffres après la virgule ?

Merci à vous

Bruno