C # windows sqlite две цифры после десятичной точки с суммой
Привет,
Я натыкаюсь на этот SQL оператор чей код это:
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)); }
В этом примере я хочу найти сумму (145.15 + 191.86 + 117.60 + 218.80) который обычно делает 673.41
Кто может помочь мне найти истинное значение с двумя цифрами после десятичной точки?
спасибо
Бруно
Что я уже пробовал:
But with the value below I get 67341 <pre lang="c#"> cmd.ExecuteScalar().ToString()
и с приведенным ниже значением я получаю 67341.00
string.Format("{0:0.00}", sum)
Несмотря на мои исследования, я не могу получить 673.41
В моей базе данных Sqlite у меня есть запятые, а не реальные точки типа.
Я думал об этом решении ниже, но результат дает следующее 67341
double sum = Convert.ToInt32(cmd.ExecuteScalar()); MessageBox.Show("" + Math.Round(sum, 2));
Richard Deeming
var query = "SELECT SUM(replace(montant_total_cmd, ',', '')) FROM Tble_Commande WHERE Annee = '" + Annee_en_Cour + "'";
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]