下面是一个存储过程中的一段,对引号很费解,
set @State0='''<a href="BuyerLadPrint.aspx'
set @State01='''">打印提单</a>''' set @State1='''<a href="BuyerLading.aspx'
set @State11='''">生成提单</a>''' set @State2='''<a href="BuyGetValidate.aspx'
set @State21='''">验货通过</a><br/><a href="BuyerGoodsBad.aspx'
                set @State22='''">货物异议</a>'''
set @SQL='select *,case when StateNum=''2'' then '+@State1+'?ID=''+Convert(varchar(8),ID)+'+@State11; 
set @SQL=@SQL+' when StateNum=''1'' then '+@State2+'?ID=''+Convert(varchar(8),ID)+'+@State21+'?ID=''+Convert(varchar(8),ID)+'+@State22;[/
求大牛们帮我详细讲下这个引号,,看得我头晕啦, 最费解的是@State1+'?ID=''+Convert(varchar(8),ID) ,这个ID=后面为什么还要加两个单引号?sql引号单引号

解决方案 »

  1.   

    你这个是Profiler抓出来的代码?
      

  2.   

    最后这个字段的值就如:
    <a href="BuyerLadPrint.aspx?ID=123">打印提单</a>我只是不明白这引号
      

  3.   

    为了存放的时候依然能保留"",你print出来就可以了
      

  4.   

    print 出来的
    select *,case when StateNum='2' then '<a href="BuyerLading.aspx?ID='+Convert(varchar(8),ID)+'">生成提单</a>' when StateNum='1' then 算是明白啦, 谢谢版主!