这是我的代码
lbltrialval.Text = Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("PretrailOrderDate")).ToString("MM/dd/yyyy");
我收到错误
“无法将DBNull.Value强制转换为'System.DateTime'。请使用a 可空的类型。“
如何在分配值时检查空值?
答案 0 :(得分:3)
你可以使用它。
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["PretrailOrderDate"] != DBNull.Value)
{
lbltrialval.Text = Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("PretrailOrderDate")).ToString("MM/dd/yyyy");
}
}
答案 1 :(得分:0)
尝试
lbltrialval.Text = Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime?>("PretrailOrderDate")).ToString("MM/dd/yyyy");
答案 2 :(得分:0)
if (ds.Tables[0].Rows[0].Field<DateTime>("PretrailOrderDate") != System.DBNull.Value)
{
Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("PretrailOrderDate")).ToString("MM/dd/yyyy");
}
答案 3 :(得分:0)
检查DBNull
:
lbltrialval.Text = ds.Tables[0].Rows[0]["PretrailOrderDate"] != DBNull.Value ?
Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("PretrailOrderDate")).ToString("MM/dd/yyyy") : "";
答案 4 :(得分:0)
if(ds.Tables[0].Rows[0]["PretrailOrderDate"] == DBNull.Value)
{
//Action to take if null value
}
else
{
try
{
lbltrialval.Text = Convert.ToDateTime(ds.Tables[0].Rows[0]
.Field<DateTime>("PretrailOrderDate")).ToString("MM/dd/yyyy");
}
catch(Exception e)
{
//Conversion Error
Console.WriteLine(e.Message);
}
}