在一個新的服務器安裝應用程序後,它拋出了錯誤:奇怪的SQL錯誤:一個varchar爲datetime的轉換導致超出範圍的值
The conversion of a varchar data type to a datetime data type resulted in an
out-of-range value.
的應用程序正常工作在其他服務器上,所以我很困惑這個問題。被保存的值是
25/4/2012 1:18:01 PM
這已經是正被保存到一個datetime列,所以我敢肯定有與數據庫和代碼本身沒有問題DateTime類型。問題嚴格是因爲服務器的設置?任何具體的原因和解決方案/解決方法?
什麼是字段類型,以及如何訪問它? 「確定」代碼沒有問題聽起來爲時尚早...... – 2012-04-25 13:30:00
是您的sql區域設置使用日期格式dd/mm/yyyy?或者mm/dd/yyyy? – 2012-04-25 13:30:40
你說這是一個日期時間,被保存到一個日期時間列,但錯誤消息告訴我們,*在某個點*,它被轉換成一個字符串。你沒有顯示任何代碼,所以我們不能指出你導致問題的線路。在這一點上最好的猜測是你正在構造一個查詢字符串而不是使用參數。通常,您應該將日期時間*保留爲*日期時間,並依賴於ADO.Net用於在.NET概念和SQL概念之間執行任何必要的轉換,並避免將它們視爲字符串。 – 2012-04-25 13:31:35