where    row between ' + Convert(varchar(100),(@PageNumber - 1) * @PageSize + 1) + ' and ' + Convert(varchar(100),@PageNumber * @PageSize)+'and a= '+cast(@temp as varchar(20) + @fieldsort 这样?

解决方案 »

  1.   

    多谢提供思路,按照您的思路,我如下写了:
    where    row between ' + Convert(varchar(100),(@PageNumber - 1) * @PageSize + 1) + ' and ' + Convert(varchar(100),@PageNumber * @PageSize) 'and a= '+cast(@temp as varchar(20))+ @fieldsort提示  关键字 'by' 附近有语法错误。
      

  2.   

    你在执行的时候,先print @strsql,看看生成的sql语句是什么。然后再返回去修改set @strSql 这块
      

  3.   


    一般测试动态SQL脚本时都这么办的。。
      

  4.   

    最终结果:
    (row between ' + Convert(varchar(100),(@PageNumber - 1) * @PageSize + 1) + ' and ' + Convert(varchar(100),@PageNumber * @PageSize)+')'+' '+ 'and a= '+''''+cast(@temp as varchar(100))+''''  +  @sortstr 
    我就是被引号太多弄晕了,MS这块得考虑了,真得考虑LINQ了,呵呵....