问题:
  通过C#调用存储过程,传给存储过程的参数中有一些值为null,更新到数据库时,有一个字段为tinyint型,怎样将null的值更新到数据库?
  传给存储过程时,类型是varchar型的。
  想在存储过程里解决,有高手帮忙解决!

解决方案 »

  1.   

    存储在定义参数的时候,可以定义这个参数是null值的。
      

  2.   

    定义参数时 
    @ItemList     NVARCHAR(4000) = NULL,         --可能为null值的项如果是null使用C#传参数时,就不要赋值。
      

  3.   

    null 在数据库中是一个特殊的字符,如果写入数据库,你不给参数赋值,当存储的时候它就存储为Null,你要获取的时候就获取不到了,这个时候你可以写一句例如:where id is null;id为你数据库中的字段名
      

  4.   

    最简单的做法是将其该字段的标识设为空就好,默认的情况下它就是null了
      

  5.   

    给存储过程这一参数加默认值null.或者在程序中加以判断.
      

  6.   

    存储过程中如何判断?这个存储过程设计的不是很好,前端已经不能修改了,现在只能在存储过程里对应,因为数据量比较大,我想在更新的时候判断,但是系统提示类型NULL不能转换为tinyint,那位能告诉我如何写,实在写不出来了,
      

  7.   

    问题解决,传进来的值是'NULL',我原来理解成传进来的是''了,晕死,终于解决了,谢谢各位,散分了,