我有一个约会时间选择器。我只需要从中提取时间来保存到数据库(我的数据库的DateTime列) 我试图通过DateTimePicker1.Value.TimeOfDay得到它,但这给出了错误:
'System.TimeSpan'类型的值无法转换为'Date?'。
答案 0 :(得分:1)
如果您在数据库中有datetime列,则可以保存DateTimePicker1.Value
,但它也将包含日期部分。阅读该列后,您可以使用TimeOfDay
属性
如果列数据类型为TimeSpan
(SQL Server 2008及更高版本),则可以保存time
答案 1 :(得分:0)
如果这是针对新开发的,则应根据Note here使用单独的date
和time
列或datetime2
列。由于您只存储时间,因此采用这种方法可能最容易。
但是,要仅存储DateTime
值的时间部分,您需要一个基数Date
加上TimeOfDay
值。您可以直接使用DateTimePicker1.Value
或使用常量Date
作为基础来获得此结果。无论哪种方式,您都无法在SQL TimeOfDay
字段中存储没有相应Date
的{{1}}。
答案 2 :(得分:-1)
为什么不将Date变量转换为String和
那么您可以在代码中使用ToShortTimeString()
或ToString()
在将其保存到您的数据库之前,例如:
DateTimePicker1.Value.ToShortTimeString()
或
DateTimePicker1.Value.TimeOfDay.ToString()