【发布时间】:2018-12-04 03:56:44
【问题描述】:
SqlCommand cmd = new SqlCommand("SELECT dateReceived FROM table1", conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
object sqlDateTime = dr[0];
DateTime? dt = (sqlDateTime == System.DBNull.Value)
? (DateTime?)null
: Convert.ToDateTime(sqlDateTime);
dtDateReceived.Value = sqlDateTime;
}
}
dr.Close();
cmd.Dispose();
conn.Close();
这是我在 table1 中获取 dateReceived 的代码,考虑到它可能在 dateReceived 列上有一个空值。
我想以 Windows 形式在 datetimepicker 中显示它,但出现错误:
无法将类型“对象”隐式转换为 System.DateTime
我只想在 datetimepicker 控件上显示值(如果不是 null)。如果为 null,则什么都不会发生。
【问题讨论】:
-
sqlDateTime.GetType()的值是多少? -
仍然收到错误:“附加信息:数据为 Null。无法对 Null 值调用此方法或属性。”
-
dtDateReceived.Value = sqlDateTime;你的意思是在那里使用sqlDateTime,而不是dt?
标签: c# sql-server winforms datetimepicker