想设置为null的参数在调用时不传即可,不过在存储过程中需要给此参数加一默认值:null。如下:CREATE PROCEDURE dbo.[up_UserUpdate] 
@UserID nvarchar(20),
@PassWord nvarchar(50),
@IP nvarchar(20)=null
as
begin
...
end

解决方案 »

  1.   

    用这个
    System.DBNull.Value
    就可以啦
      

  2.   

    那我是不是在调用比如 Update(int forumID, string forumName, string forumDescription, int forumPosition)的之前应该怎么处理呢?比如,我用输入int类型的地方没有输入就表示要传入null到数据库,那我想就传入int forumPosition=-99999表示要穿入的为null那么在调用存储过程之前的对parameters[3].Value 就不复值,还有其它方法吗?
      

  3.   

    if forumPosition=-99999 {
       parameters[3]=system.dbnull.value;
    else
       parameters[3]=forumPosition;
    }
      

  4.   

    使用参数化更新,设置参数值System.DBNull.Value