可空对象在存储过程中传递时必须有一个值
Nullable object must have a value while pass in stored procedure
我正在尝试将 ClearDateC
作为参数发送给过程,但它抛出了一个错误
nullable object must have value.
我的代码:
foreach (var item in bankRecos)
{
DataTable Dt ;
DateTime ChqDateC = Convert.ToDateTime(item.ChqdateDisplay);
Dt = MD.GetBankReco_GetBankRecoUpdate(item.CommentC, (DateTime)item.ClearDateC, item.Chqno, ChqDateC);
if (Dt.Rows.Count > 0 && Dt.Rows[0]["Status"].ToString() == "1")
{
status = "Success";
}
else
{
status = "Error : " + Dt.Rows[0]["Message"].ToString().Replace('\n', '_');
}
}
请帮我解决这个问题。
您可以更改调用以检查可为 null 的 DateTime 字段是否具有值,然后使用 Value
属性 之类的
var cleardate = item.ClearDateC.HasValue ? (DateTime)item.ClearDateC : DateTime.Now;
MD.GetBankReco_GetBankRecoUpdate(item.CommentC, cleardate, item.Chqno, ChqDateC);
我正在尝试将 ClearDateC
作为参数发送给过程,但它抛出了一个错误
nullable object must have value.
我的代码:
foreach (var item in bankRecos)
{
DataTable Dt ;
DateTime ChqDateC = Convert.ToDateTime(item.ChqdateDisplay);
Dt = MD.GetBankReco_GetBankRecoUpdate(item.CommentC, (DateTime)item.ClearDateC, item.Chqno, ChqDateC);
if (Dt.Rows.Count > 0 && Dt.Rows[0]["Status"].ToString() == "1")
{
status = "Success";
}
else
{
status = "Error : " + Dt.Rows[0]["Message"].ToString().Replace('\n', '_');
}
}
请帮我解决这个问题。
您可以更改调用以检查可为 null 的 DateTime 字段是否具有值,然后使用 Value
属性 之类的
var cleardate = item.ClearDateC.HasValue ? (DateTime)item.ClearDateC : DateTime.Now;
MD.GetBankReco_GetBankRecoUpdate(item.CommentC, cleardate, item.Chqno, ChqDateC);