2013-09-16 18 views
1

我有一個日期時間選擇器。我需要提取唯一的一次由它來保存到數據庫(我的數據庫的時間列) 我試圖通過DateTimePicker1.Value.TimeOfDay得到它,但是這給了錯誤:從DateTimePicker中提取TimeOfDay

類型的「System.TimeSpan」值不能被轉換爲'Date?'。

+0

這數據庫你在用嗎? – Damith

回答

0

如果這是新的發展,您應該使用單獨的datetime列或datetime2列,每個Note here。既然你只存儲時間,那麼採用這種方法可能是最簡單的。

但是,要僅存儲DateTime值的時間部分,您需要基準值Date加上TimeOfDay值。您可以通過直接獲取DateTimePicker1.Value或者使用一個常量Date作爲基礎。無論採用哪種方式,都不能在SQL datetime字段中存儲TimeOfDay而不存在相應的Date

1

如果在數據庫中有datetime列,則可以保存DateTimePicker1.Value,但它也會包含日期部分。當你讀了列中,您可以通過使用TimeOfDay財產

獲得日期時間的時間您可以保存TimeSpan如果列數據類型爲time(SQL Server 2008和更高版本)

+0

沒有時間,它會將其設置爲午夜。 – Tawnos

+0

@Tawnos答案已更新 – Damith

-1

爲什麼不是你的日期變量轉換爲字符串和 那麼你既可以將其保存到您的數據庫,像以前一樣在代碼中使用 ToShortTimeString()ToString()

DateTimePicker1.Value.ToShortTimeString() 

DateTimePicker1.Value.TimeOfDay.ToString()