我有一个日期时间选择器。我只需要从中提取时间以保存到数据库(我的数据库的 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。Datedatetime
为什么不将您的 Date 变量转换为 String ,然后您可以在将其保存到数据库之前使用ToShortTimeString()或ToString()在代码中,例如:
DateTimePicker1.Value.ToShortTimeString()
或者
DateTimePicker1.Value.TimeOfDay.ToString()