空值和没有值不一样,在C#中你传""代表字符串空值。
在SQL里面用NULL判断

解决方案 »

  1.   

    判断参数是否为""和null,参数要传递
      

  2.   

    传进去的username可能没有值,你确定一下是""还是null,如果是null的话可以在stored pro里面初始化username如下:
    CREATE PROCEDURE userupdate 
    ...
    @username varchar(50)=null 
    AS
    ...
    第二个问题再根据输入条件判断好了。
      

  3.   

    这个问题已经有点点解决了,原来是@id是int型,要转换成str(@id)才能进行+,但是又发现了个问题“,”的问题,在update里面执行1=1是无法执行的,如果3个参数都没有值哪么就会变成update username set where id=@id
      

  4.   

    我现在解决了那个问题,请你们看下,这个问题
    这个问题已经有点点解决了,原来是@id是int型,要转换成str(@id)才能进行+,但是又发现了个问题“,”的问题,在update里面执行1=1是无法执行的,如果3个参数都没有值哪么就会变成update username set where id=@id