我从数据库中检索了一个表,其中包含 sql server 中“时间”类型的列,我尝试将其分配给 DateTime 变量,但我收到此错误:System.InvalidCastException:指定的转换无效。
这是我的 C# 代码:
DateTime StartTime = (DateTime)dt.Rows[i]["startTime"];
知道“startTime”列的类型是“time”,我可以在数据库中更改它。有什么帮助吗??
我从数据库中检索了一个表,其中包含 sql server 中“时间”类型的列,我尝试将其分配给 DateTime 变量,但我收到此错误:System.InvalidCastException:指定的转换无效。
这是我的 C# 代码:
DateTime StartTime = (DateTime)dt.Rows[i]["startTime"];
知道“startTime”列的类型是“time”,我可以在数据库中更改它。有什么帮助吗??
DateTime StartTime = Convert.ToDateTime(dt.Rows[i]["startTime"].ToString());
如果你知道它可能是空的..
DateTime StartTime = (dt.Rows[i]["startTime"] == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(dt.Rows[i]["startTime"].ToString()));
您应该能够将其转换为TimeSpan
:
var startTime = dt.Rows<TimeSpan>("startTime");