在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'

解决方案 »

  1.   

    select max(logid) from(select 这里的问题吧
      

  2.   

    不要执行@SQL ,用 Select 输出 @SQL看看他是否能正常执行
      

  3.   

    把這(@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'
      

  4.   

    把你的改成以下(就是在括號內加 as #temp):
    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) as #temp) order by logid asc'drop table #temp
      

  5.   

    把你的改成以下(就是在括號內加 as #temp):
    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) as #temp) order by logid asc'
      

  6.   

    谢谢。。解决啦。感谢。。trainli(男人要有霸气得有钱)!!