在SQL Image列中插入DBNull时出现异常

时间:2018-03-05 15:37:50

标签: c# sql-server

如果BinaryImage值为null,我试图在SQL Image列中插入NULL。

这是代码中有问题的部分:

SqlParameter[] dsUpdateFarmacevtiParams = new SqlParameter[32];
if (img.Value != null)
{
    dsUpdateFarmacevtiParams[31] = new SqlParameter("@img", img.Value);
}
else
{
    dsUpdateFarmacevtiParams[31] = new SqlParameter("@img", SqlDbType.Image);
    dsUpdateFarmacevtiParams[31].Value = DBNull.Value;
}

if语句为true时一切正常,但当img.value为null时我收到此错误:

  

操作数类型冲突:nvarchar与图像

不兼容

我的问题是,在这种情况下如何将DBNull传递给SQL Image列?

1 个答案:

答案 0 :(得分:0)

谢谢你们,伙计们,我已经解决了这个问题。我已修改过程并将默认NULL值设置为参数,如此@img image = NULL。 这很简单,但我已经失去了5个小时:)