加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 操作数类型冲突:nvarchar与映像不兼容

发布时间:2020-12-17 00:27:23 所属栏目:大数据 来源:网络整理
导读:我正在使用SQL Server 2008存储过程创建一个新的记录 这个语法: cmd.Parameters.Add("@photo",DBNull.Value)cmd.ExecuteNonQuery() 但结果是: Operand type clash: nvarchar is incompatible with image 照片不是唯一的参数,而是唯一的图像,我没有通过 一
我正在使用SQL Server 2008存储过程创建一个新的记录
这个语法:
cmd.Parameters.Add("@photo",DBNull.Value)
cmd.ExecuteNonQuery()

但结果是:

Operand type clash: nvarchar is incompatible with image

照片不是唯一的参数,而是唯一的图像,我没有通过
一个nvarchar但是一个空值,我是否缺少一些东西?

如果您传递DBNull.Value作为值,ADO.NET无法确定参数应该是什么类型.如果指定一个字符串或整数值,则可以从提供的值派生SQL参数的类型,但是DBNull.Value将被转换成什么类型???

当传入NULL值时,您需要自己指定SqlDbType:

Dim photoParam As New SqlParameter("@photo",SqlDbType.Image)
photoParam.Value = DBNull.Value
cmd.Parameters.Add(photoParam)

cmd.ExecuteNonQuery()

这应该工作,我希望!

更新:同样的事情在C#将是:

SqlParameter photoParam = new SqlParameter("@photo",SqlDbType.Image);
photoParam.Value = DBNull.Value;
cmd.Parameters.Add(photoParam);

cmd.ExecuteNonQuery();

有一个伟大的,免费的,非常有用的VB.NET-to-C# converter out there – 使用它!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读