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

前端之家收集整理的这篇文章主要介绍了vb.net – 操作数类型冲突:nvarchar与映像不兼容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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 – 使用它!

原文链接:https://www.f2er.com/vb/255166.html

猜你在找的VB相关文章