MS SQL逗号VS指向十进制类型

时间:2016-03-07 15:17:37

标签: c# asp.net sql-server

我们忙着用MS SQL DB运行c#asp网站。

某些列已分配了十进制类型(18,2)。

SqlCommand cmd = new SqlCommand("select * from TABLE", conn);
SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
    Response.Write("Amount : " + dr["DEC_COLUMN"].ToString());
}

在我的同事localhost上,当他做一个简单的选择时,值会回到10.01 10.02 15.03 在我的本地主机上它回来了 10,01 10,02 15,03

我的同事和我们的Dev Server具有相同的值。 除了字符串替换hacks之外,我想让我的设置相同,以便我的值也返回点不是逗号。

我检查了我的PC上的区域设置,它与Dev服务器完全相同。 我转储了我的本地数据库,并使用了Dev服务器的导出/导入向导,但仍然没有运气。

需要更改windows / .NET / SQL中的哪个设置才能使我的本地环境相同?

1 个答案:

答案 0 :(得分:5)

  

但由于我的源代码副本与我的同事以及dev服务器的副本相同,所有这些都由SVN控制,它有什么不同?

因为源代码中未定义默认系统区域性。

我非常怀疑你真的想要以完全相同的格式编写回复,但你总是可以指定不变文化:

while (dr.Read())
{
    decimal value = (decimal) dr["DEC_COLUMN"];
    Response.Write("Amount : " + value.ToString(CultureInfo.InvariantCulture));
}