在DateTimePicker中显示数据库的时间

时间:2012-10-22 07:19:28

标签: c# sql-server datetimepicker

我的SQL Server数据库中有一个列(数据类型为time(7))来存储时间。当我尝试从数据库中检索该值并以DateTimePicker(格式设置为仅显示时间)显示时,它会引发InvalidCastException错误。

这是施法发生的线。

r = com.ExecuteReader();
dtpOutTime.Value = (DateTime)r["OutTime"];

我能理解为什么会抛出错误,但我无法找到纠正错误的方法。

如何在DateTimePicker

中仅显示数据库中的时间

谢谢。

1 个答案:

答案 0 :(得分:1)

对于System.Data.DbType.Time,您使用.NET Framework类型System.TimeSpan

例如:

dtpOutTime.Value = DateTime.Today + (TimeSpan)r["OutTime"];

(如果您想将TimeSpan添加到Today午夜,时间跨度为6小时,则结果为10/22/2012 6:00:00 AM