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