当前位置: 代码迷 >> C# >> 关于Sql存储过程varbinary(max)类型的参数怎么赋予空值?
  详细解决方案

关于Sql存储过程varbinary(max)类型的参数怎么赋予空值?

热度:166   发布时间:2016-05-05 05:17:15.0
关于Sql存储过程varbinary(max)类型的参数如何赋予空值???

此处的 new SqlParameter(@"Photo",DBNull.Value),new SqlParameter(@"Word",DBNull.Value),
因为传入的参数Staff.photo为空值在存储过程中运行不了 所以换成了DBNull.Value
结果又报错

在存储过程中 @Photo的类型为Varbinary(Max)
如图


不知道是存储过程的哪里有错
好像在存储过程里面不能设置可以兼容赋值或空值的那种类型

当传入参数为Null时 报错说存储过程中需要传入参数才能通过
然后该成DBNull.Value 又报错说不能把varchar类型隐式转换成Varbinary(max)...
难道DBNull,Value是varchar类型????
求求各位高手来帮帮忙
我就只想有参数传进来可以通过,空值也可以
因为在添加员工信息表的时候可能那个人没有拍照片自然就没有参数
有照片的人自然就有参数。。。。。。。。。。。
对不起啊 我只有100分了。。。每天登录也就10分。。
有说我都会给。能帮到忙解决问题绝对给多
------解决思路----------------------
var param = new SqlParameter("@Test", SqlDbType.Int);  
param.Value = 0;   //类似这样

 param = new SqlParameter("@Test", SqlDbType.Int){Value=0};  //或者这样


http://blog.csdn.net/starfd/article/details/42004605