我最近複製一個web應用到新安裝的Windows 7和SQL Server 2008 R2。該應用程序使用LINQ to SQL。某處沿線的解析POST日期字符串被搞砸了。當用戶輸入日期字符串,如4/23/2011
時,應用程序拒絕它,並引發錯誤The value '04/23/2011' is not valid for Due.
Due(實際上是DueDate)是SQL Server中的DateTime字段。配置的日期格式與Windows 7/.NET/SQL服務器
過去,這很好地工作。我以爲這是與機器的操作系統國際化設置的問題,所以我檢查和短期和長期的日期格式分別設置爲MM/dd/yyyy
和dddd, MMMM dd,yyyy
,這看起來不錯我。 SQL Server數據庫語言設置爲英語。
此屬性的分部類看起來是這樣的:
[DisplayName("Due")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? DueDate { get; set; }
必須有另一種日期格式設置我需要調整。我應該在哪裏看?
注:這可能是更正確的一個serverfault問題,但我認爲開發者更容易碰到這個問題不是系統管理員。
更多信息:SP_CONFIGURE 'default language'
回報:
default language 0 9999 0 0
另外:因爲我使用的數據庫登錄的默認語言爲英語。
這是否會被拒絕?通過SQL Server或之前' – gbn 2011-04-25 18:39:12
看起來像以前(由LINQ To SQL我假設)。我可以使用'4/23/2011'直接在原始SQL中進行查詢或更新,並且工作正常。 – RedFilter 2011-04-25 18:46:05