带有十进制类型的ASP.NET Raw SQL Escape逗号

时间:2012-12-16 23:28:54

标签: sql asp.net-mvc-3 escaping

问题在标题中,我如何转义给定小数的逗号?我真的需要解决方法:获取值,将其转换为String,用点替换逗号?

这有更简单的解决方案吗?或者我可以使用一个好的库或函数吗?

编辑:我知道我可以通过用点替换逗号来输入值。我要求内部函数或外部库来转义SQL查询,如Java中的StringEscapeUtils。

2 个答案:

答案 0 :(得分:0)

这取决于当前的文化。你的文化是使用点作为分隔符。

请考虑以下代码,其中提供使用逗号作为分隔符的区域性文档:

var dec = "123,45";

decimal parsed;
decimal.TryParse(dec, NumberStyles.Any, new CultureInfo("es-ES"), out parsed);

答案 1 :(得分:0)

重新阅读您的帖子后,我认为最好的方法是在运行SQL语句之前将文化更改为en-US。这会将所有逗号更改为数字中的点。像

这样的东西
  

Thread.CurrentThread.CurrentCulture =               CultureInfo.CreateSpecificCulture( “EN-US”);