c# - mysql 不接受正确格式的小数

标签 c# mysql decimal

例如,当我从 C# 发送十进制值时:5.54 当我执行查询时,我可以看到我的变量表示为 5,54

有人知道如何获得 DOT 而不是 COMMA 吗?

这是我的代码:

using (MySqlConnection conn = new MySqlConnection(conn_string.ToString()))
                using (MySqlCommand cmd = conn.CreateCommand())
                {  
                    cmd.CommandText = string.Format("INSERT Test (lat, long) VALUES ({0},{1})",
                                                   OSGconv.deciLat, OSGconv.deciLon);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }

最佳答案

Anyone have an idea how to achieve to get DOT and not COMMA?

不要一开始就将值直接嵌入到您的 SQL 中。请改用参数化 SQL。请参阅 MySqlCommand.Parameters 的文档举个例子。您应该始终使用参数化查询:

  • 他们将代码与数据分开
  • 它们可以防止 SQL 注入(inject)攻击(这些数字不是问题,但考虑字符串...)
  • 他们可以防止出现这样的转化问题

这里有一个更普遍的观点:不要执行不必要的转换。每次将数据从一种形式转换为另一种形式时,都有丢失数据或更糟的风险。如果您可以尽可能长时间地以最合适的方式保存数据,就可以最大程度地减少问题。

关于c# - mysql 不接受正确格式的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521898/

相关文章:

c# - 使用 LINQ 优化两个列表中的比较

c# - 用 Mono.Cecil 替换类

C#将方法放在using语句中可能吗?

php - 动态下拉 mysql 撇号问题

mysql - SQL - 从没有列的计数总和中舍入小数

c# - ValideAntiForgeryToken 是否可以防止 POST 参数被篡改?

php - 如何使用 jQuery 数据表插件实现这种复杂的搜索?

mysql - SQL - 如果这不是真的,我可以做其他事情吗?

Python,如何读取十六进制文件并移动它

javascript - 数字(整数或小数)到数组,数组到数字(整数或小数)而不使用字符串