C# 从sql读取日期数据类型时,asp.net区域性导致错误

C# 从sql读取日期数据类型时,asp.net区域性导致错误,c#,asp.net,sql-server-2008,culture,C#,Asp.net,Sql Server 2008,Culture,我试图完成的是更改asp.net calendar控件上的语言,根据我阅读的内容,我可以使用: <%@ Page Title="" Culture="es-PE".... 我的数据库排序规则是 SQL_Latin1_General_CP1_CI_AS 以前从来没有这样做过,所以这对我来说是新的。它需要是一个西班牙语页面,所以如果我显示“12月”,他们将不知道显示的是哪个月。不,我不能让他们上英语课 提前感谢。您不应该首先向SQL Server发送字符串。您应该将字符串解析为DateTi

我试图完成的是更改asp.net calendar控件上的语言,根据我阅读的内容,我可以使用:

<%@ Page Title="" Culture="es-PE"....
我的数据库排序规则是

SQL_Latin1_General_CP1_CI_AS
以前从来没有这样做过,所以这对我来说是新的。它需要是一个西班牙语页面,所以如果我显示“12月”,他们将不知道显示的是哪个月。不,我不能让他们上英语课


提前感谢。

您不应该首先向SQL Server发送字符串。您应该将字符串解析为DateTime变量,并使用参数将该变量提交到SQL端。这完全避免了SLQ服务器不知道页面上的语言环境的问题


也就是说:永远不要在页面中使用区域性,至少要将其放在web.config中,这样您就可以从一个地方处理整个站点的更改,而不是从十几个或数百个单独的页面。

哦,不,我没有向sql发送字符串,这是我从sql检索数据时遇到的错误。谢谢你的web.config,我希望有一个更好的方法,然后在我所有的页面上都放上这一行。然后问题是这个字符串在哪里起作用。请看,sql server中的日期/时间不应存储为字符串,而应存储为日期/时间/日期时间2字段类型。奇怪的是,我传递了一个字符串,然后使用convert(datetime,field,101)转换为datetime,但这只是不想工作,所以稍微改变了我的逻辑并工作了。谢谢
SQL_Latin1_General_CP1_CI_AS