2017-01-23 62 views
1

我正在處理C#SQL。C#日期時間問題到SQL

我有一個datetime值"1/10/2016 12:00:00 AM" 爲如

Datetime dt="1/10/2016 12:00:00 AM" 

當我過了這個值,SQL存儲過程作爲參數,把它改爲10 Jan 2016

我需要的結果作爲SQL 1 OCT 2016。 Sql存儲過程參數數據類型是datetime。

很多謝謝

+0

你可以顯示代碼。如何將它存儲在'dt'中以及SQLParameter如何看起來像 –

+4

聲音您將它作爲字符串傳遞,您應該將其作爲日期時間傳遞 – HoneyBadger

+0

請查看此[問題](http://stackoverflow.com/問題/ 2191120 /淨日期時間到SQLDATETIME轉換)。 –

回答

0

使用參數將值傳遞給sql查詢。或者使用myDateTime.ToString("s");此爲datetime值

「S」 - 標準的DATETIME格式

1

更改日期時間值,看看發生了什麼。如果仍然來到2016年1月10日,那麼存儲過程可能會改變爲默認值,即存儲值爲2016年1月10日。

+0

這是一個很好的評論,但一個不好的答案。 –

+0

我知道Zohar Peled。但根據計算器規則,如果我們低於50點聲望,我們就不能評論。所以對於這個限制我想作爲回答而不是評論。 –

0

那麼,你確定c#中的值實際上是1 OCT 2016而不是10 Jan 2016
行:

Datetime dt = "1/10/2016 12:00:00 AM"; 

甚至不進行編譯。用於使C#和SQL Server之間DateTime

最佳實踐是使用DateTime型或DateTime2的SQL參數以及使所述DateTime結構的實例。
如果你這樣做,那麼DateTime值保證正確傳遞。