CREATE proc page @pagenum int as select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 select * from #temp where ID_Num>@pagenum*6 and ID_Num<=(@pagenum+1)*6 go
應該這個吧 select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=(@pagenum)*6
你可以用asp里的absolutepage属性来取。 放在sql端可以用大力的方法,不过要改一下
CREATE proc page @pagenum int as select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=@pagenum*6 goexec page 1
CREATE proc page @pagenum int as select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表 select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=@pagenum*6 go
@pagenum int
as
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num>@pagenum*6 and ID_Num<=(@pagenum+1)*6
go
就用你上面的就可以了吗?我回去试一下
你的存储过程可以了,点击“下一页”没有问题了,但是为什么取不出第一页的数据(即最前面的六条数据)??
我进入 sqlpage.asp 应该取出第一页的数据,可是取出的是第二页的数据。??
select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=(@pagenum)*6
放在sql端可以用大力的方法,不过要改一下
@pagenum int
as
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=@pagenum*6
goexec page 1
@pagenum int
as
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num>(@pagenum-1)*6 and ID_Num<=@pagenum*6
go