当前位置:编程学习 > C#/ASP.NET >>

select top @rscount * from myjobs where job_id not in(select top @rscount*(@curpage-1) job_id from myjobs)

alter proc page
@curpage int, --页码
@rscount int, --每页显示记录
@pagecount int output --记录总数

as
declare

--@query varchar(200),
@cnt int
select @cnt=count(job_id) from myjobs
if @cnt%@rscount=0
set @pagecount=@cnt/@rscount
else
set @pagecount=@cnt/@rscount+1
if @curpage<1
set @curpage=1
if @curpage>@pagecount
set @curpage=@pagecount
--set @query='
select top @rscount * from myjobs where job_id not in(select top @rscount*(@curpage-1) job_id from myjobs) 


go

请教高手,有错误 --------------------编程问答-------------------- 服务器: 消息 170,级别 15,状态 1,过程 page,行 21
第 21 行: '@rscount' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,过程 page,行 21
第 21 行: '@rscount' 附近有语法错误。
--------------------编程问答-------------------- 最后一句的top后面如果跟的是一个变量或表达式的话必须加括号括起来,如果是常量整数的话可不加 --------------------编程问答-------------------- 好像是sql server不支持把top n的这个n参数化。拼接sql语句吧
--------------------编程问答--------------------
引用 3 楼 JeffChung 的回复:
好像是sql server不支持把top n的这个n参数化。拼接sql语句吧 



sql2000的确是不支持,但2005是支持的得加括号
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,