我从数据库中检索一个包含"时间"类型的列的表。在SQL Server中,我尝试将此分配给DateTime变量,但我收到此错误: System.InvalidCastException:指定的强制转换无效。
这是我的c#代码:
DateTime StartTime = (DateTime)dt.Rows[i]["startTime"];
知道列" startTime"属于"时间"我可以在数据库中更改它。 任何帮助??
答案 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()));