为了账号安全,请及时绑定邮箱和手机立即绑定

由于数据库中的空值,检查数据库值不起作用

由于数据库中的空值,检查数据库值不起作用

C#
陪伴而非守候 2021-07-07 17:01:50
我正在尝试执行删除,但在尝试删除之前我需要确保存在一个值。该值是从数据库中提取的。我需要检查 dbnull。如果不是,则可以继续删除。我已经尝试了以下但它不起作用:if (!DBNull.Value.Equals(x.ColourImage)){    File.Delete(HttpContext.Current.Server.MapPath(x.ColourImage));}当我尝试时,出现以下异常:内部异常类型:System.InvalidCastException无法将“System.DBNull”类型的对象转换为“System.String”类型。内部源:App_Code.bvtnyzaw内部堆栈跟踪:位于 c:\Users\micha\AppData\Local\Temp\Temporary ASP.NET Files\vs\d9cd3740\a9faac06\App_Code.bvtnyzaw.2 中的 Products.GetAllProdColoursRow.get_ColourImage()。 cs:第2245行异常类型:System.Data.StrongTypingException异常:“GetAllProdColours”表中“ColourImage”列的值为 DBNull。****编辑**** 我已经看到了建议的问题,但这些解决方案似乎都没有帮助。无论我尝试什么,我都会遇到相同的异常。**** 我的完整代码使用建议的答案,但我仍然遇到相同的异常 ****public bool DeleteProductColour(int colid, int prd){    bool prodColourDeleted = false;    try    {        var x = pcAdp.GetAllProdColours(prd).AsEnumerable().Where(y => y.ColourId == colid).First();        if (x != null && !string.IsNullOrEmpty(x.ColourImage))        {            File.Delete(HttpContext.Current.Server.MapPath(x.ColourImage));        }        pcAdp.DeleteProductColour(colid);        prodColourDeleted = true;    }    catch(Exception er)    {        ExceptionUtility.LogException(er, "Delete product colour - ProductsBLL");    }    return prodColourDeleted;}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信