1

我有一个日期时间选择器。我只需要从中提取时间以保存到数据库(我的数据库的 DateTime 列)我试图通过 DateTimePicker1.Value.TimeOfDay 获取它,但这会产生错误:

'System.TimeSpan' 类型的值不能转换为 'Date?'。

4

3 回答 3

1

如果您在数据库中有日期时间列,您可以保存DateTimePicker1.Value但它也将包含日期部分。当您阅读该列时,您可以使用TimeOfDay属性获取日期时间的时间

TimeSpan如果列数据类型为time(SQL Server 2008 及更高版本),则可以保存

于 2013-09-16T16:37:07.660 回答
0

如果这是用于新开发,您应该按照此处的注释date使用单独的和time列或datetime2列。由于您只存储时间,因此采用这种方法可能是最简单的。

但是,要仅存储值的时间部分DateTime,您将需要一个基数Date加上该TimeOfDay值。您可以通过DateTimePicker1.Value直接获取或使用常量Date作为基础来获得它。无论哪种方式,您都不能在 SQL字段中存储TimeOfDay没有对应的 a。Datedatetime

于 2013-09-16T16:51:09.790 回答
-1

为什么不将您的 Date 变量转换为 String ,然后您可以在将其保存到数据库之前使用ToShortTimeString()ToString()在代码中,例如:

DateTimePicker1.Value.ToShortTimeString()

或者

DateTimePicker1.Value.TimeOfDay.ToString()
于 2013-09-16T16:59:06.600 回答