哈哈,仔细看一下
1 declare @strFldBianhao char(20)
2 ...str(@FldBianhao))
变量名不一致呀
  

解决方案 »

  1.   

    對了,你的語句里的 @FldBianhao 改成@strFldBianhao就可以了。
      

  2.   

    对不起,敲错了。代码如下(我在sql query analyzer中调试):  declare @strCommand char(200)
      declare @strFldName char(6)
      declare @strFldBianhao char(20)
      declare @strFldValue int  ....................  set @strCommand='update k5 set '+rtrim(@strFldName)+'='+
            rtrim(str(@strFldValue))+
            ' where 商品编号='+'rtrim(@strFldBianhao)' 
      print(@strCommand)               
      EXEC(@strCommand)调试结果如下:  update k5 set XXL   =       123 where 商品编号=rtrim(@strFldBianhao)
    Server: Msg 137, Level 15, State 2, Line 1
    Must declare the variable '@strFldBianhao'.
    快帮我看看吧!!我都快被折磨死了!!
      

  3.   

    我知道了,改成:
    set @strCommand='update k5 set '+rtrim(@strFldName)+'='+
            rtrim(str(@strFldValue))+
            ' where 商品编号='+ rtrim(@strFldBianhao)
      print(@strCommand)              
      EXEC(@strCommand)
    就是这句有问题:
            ' where 商品编号='+'rtrim(@strFldBianhao)' 
      

  4.   

    對了,樓上的說的正確,不應該在 'trim(@strFldBianhao)'加上引號
      

  5.   

    谢谢你们,问题是我的商品编号是字符型的,那样的话仍然会出错。
    会提示说:
    update k5 set XXL   =       456 where 商品编号=A2005 
    Server: Msg 207, Level 16, State 3, Line 1
    Invalid column name 'A2005'欢迎大家继续帮我出主意!!!
    或看看有没有别的替代办法阿!!!
      

  6.   

    把單引號改成雙引號即可.
    這樣:
    set @strCommand="update k5 set "+rtrim(@strFldName)+"="+
            rtrim(str(@strFldValue))+
            " where 商品编号='"+ rtrim(@strFldBianhao)+"'"  
      

  7.   

    那样的话会提示:
    Server: Msg 207, Level 16, State 3, Line 17
    Invalid column name 'update k5 set '.
    Server: Msg 207, Level 16, State 1, Line 17
    Invalid column name '='.
    Server: Msg 207, Level 16, State 1, Line 17
    Invalid column name ' where 商品编号=''.
    Server: Msg 207, Level 16, State 1, Line 17
    Invalid column name '''.
      

  8.   

    你的引号没有写对!
    请参看下面:
    set @strCommand='update k5 set '+rtrim(@strFldName)+'='+rtrim(str(@strFldValue))+' where 商品编号='''+ rtrim(@strFldBianhao)+''''