我已存儲的過程,它具有像@CurrentDate datetime
的參數,當我從前端傳遞值DateTime.Now
(C#)到這個存儲過程是工作精細。DateTimeFormat問題,當傳遞參數到MS-SQL存儲過程
但是,當我在我的系統/服務器改變日期格式爲English(India)
,到時候DateTime.Now
將返回像25-10-2012 PM 05:23:27
值。我這個值傳遞給存儲過程,我得到一個錯誤消息像下面,
Msg 242, Level 16, State 3, Line 10
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
注:我不想用GETDATE()
從SQLSERVER,我想通過從C#中的參數。
我該如何解決這個問題?
什麼是使用GETDATE()的問題? – tranceporter
我的Sql服務器運行的是不同的機器,這是不同的位置......我只需要一個服務器日期,它運行IIS服務器。 –
然後正確的做法是在SQL Server端使用GETUTCDATE()存儲日期。然後在代碼中,在向用戶顯示時間(如果需要)之前,可以將其轉換爲用戶的本地時區並顯示它。您可以使用TimeZoneInfo類獲取特定於語言環境的日期時間,以進行日期時間比較。 – tranceporter