日期:2014-05-19  浏览次数:20407 次

.net存储过程分页出现")"附近语法错误,请教...
在sqlserver2005中能正常的执行通过,但是就是在网页分页的时候出现错误。
提示 ") "附近有语法错误
请教...

@Proc_Orderby     bit,     --排序
@Proc_Pagesize   int,   --页面大小
@Proc_Page   int   ,           --当前页
@Proc_Pages   int       output     --总页数

if   @Proc_Orderby=0
set   @sql= 'select   top   '+cast(@Proc_Pagesize   as   varchar)+ '   *   from   Logcount   where   logid> (select   max(logid)   from(select   top   '+cast(@Proc_pagesize*(@Proc_Page-1)   as   varchar)+ '   logid   from   Logcount   order   by   logid   asc))   order   by   logid   asc '



------解决方案--------------------
把這(@Proc_pagesize*(@Proc_Page-1)改用一個變量取得再放入
set @newProc_pagesixe=(@Proc_pagesize*(@Proc_Page-1);


set @sql= 'select top '+cast(@Proc_Pagesize as varchar)+ ' * from Logcount where logid> (select max(logid) from(select top '+cast(@newProc_pagesixe as varchar)+ ' logid from Logcount order by logid asc)) order by logid asc '