System.InvalidCastException:指定的强制转换无效

时间:2012-05-08 20:12:37

标签: c# sql-server datetime

我从数据库中检索一个包含"时间"类型的列的表。在SQL Server中,我尝试将此分配给DateTime变量,但我收到此错误: System.InvalidCastException:指定的强制转换无效。

这是我的c#代码:

DateTime StartTime = (DateTime)dt.Rows[i]["startTime"];

知道列" startTime"属于"时间"我可以在数据库中更改它。 任何帮助??

2 个答案:

答案 0 :(得分:4)

您应该可以将其转换为TimeSpan

var startTime = dt.Rows<TimeSpan>("startTime");

答案 1 :(得分:4)

DateTime StartTime = Convert.ToDateTime(dt.Rows[i]["startTime"].ToString());

如果你知道它可能是null ..

DateTime StartTime = (dt.Rows[i]["startTime"] == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(dt.Rows[i]["startTime"].ToString()));