set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHEREODID='+@ODID--主要就是这[color=#FF0000]@ODID的问题~~因为ODID是字符串列,那么@ODID必须两边有单引号
那么请问我如何能在这条语句中给@ODID两边加上单引号呢??[/color]

解决方案 »

  1.   

    set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHERE ODID='+@ODID--主要就是这@ODID的问题~~因为ODID是字符串列,那么@ODID必须两边有单引号,
    那么请问我如何能在这条语句中给@ODID两边加上单引号呢??
      

  2.   

    set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHERE ODID='''+@ODID+'''' 
      

  3.   

    @ODID是参数,在你定义的时候和赋值的时候就赋的是字符串,所以不用加单引号

    declare @ODID varchar(20)='123'
      

  4.   

    set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHEREODID='''+@ODID +''
      

  5.   

    补充
    set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHEREODID='+@ODID
    写错了应该是
    set @str= UPDATE LKG_OrderDetailsTemp SET CinemaPrice =@CinemaPrice  WHERE ODID=+@ODID
    @str返回的是一个数字指修改了几行
      

  6.   

    set @str='UPDATE LKG_OrderDetailsTemp SET CinemaPrice ='+@CinemaPrice+' WHERE ODID='''+@ODID+'''' 
      

  7.   

    更正
    set @str= UPDATE LKG_OrderDetailsTemp SET CinemaPrice =@CinemaPrice  WHERE ODID=@ODID
      

  8.   

    @ODID传 字符串类型的即可。''' 可转义为一个 '
      

  9.   

    用转义符啊,在SQL里面要表示一个单引号,就输入两个单引号。