我的SQL Server数据库中有一个列(数据类型为time(7)
)来存储时间。当我尝试从数据库中检索该值并以DateTimePicker
(格式设置为仅显示时间)显示时,它会引发InvalidCastException
错误。
这是施法发生的线。
r = com.ExecuteReader();
dtpOutTime.Value = (DateTime)r["OutTime"];
我能理解为什么会抛出错误,但我无法找到纠正错误的方法。
如何在DateTimePicker
?
谢谢。
答案 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
)