能专业一点吗?我知道要分页显示,但是具体要注意哪些事,该怎么显示好呢?比如分页,用pagesize还是在查询语句中加top n好呢?
比如游标类型,如用客户端+静态,几万条记录的话会不会出问题,我想过了,用top n对结果集比较好处理一点,但是写语句会比较麻烦一点,用pageSize语句不用更改,结果集处理也好处理,但在选择游标时,我就不太清楚,该怎么选择?
比如游标类型,如用客户端+静态,几万条记录的话会不会出问题,我想过了,用top n对结果集比较好处理一点,但是写语句会比较麻烦一点,用pageSize语句不用更改,结果集处理也好处理,但在选择游标时,我就不太清楚,该怎么选择?
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num>10 and ID_Num<=20
例:http://expert.csdn.net/Expert/TopicView1.asp?id=1422566方法二: SELECT Top @PageSize *
FROM T
WHERE SortField NOT IN (SELECT TOP @PageSize * @Pagei SortField
FROM T
ORDER BY SortField
)
ORDER BY SortField
如果用pagesize进行分页的话,该怎么选择游标类型呢?
如果用top n进行显示的话,好像在存储过程里这个n不能用变量,只能用exec()来执行,这样效率就低了。我不知道大力兄的第一种方法执行效率怎样,不过是一个好点子,
难道没有其他好方法了吗?
SELECT Top '+@PageSize+' *
FROM T
WHERE SortField NOT IN (SELECT TOP '+@PageSize*@Pagei+' SortField
FROM T
ORDER BY SortField
)
ORDER BY SortField')
你如果要分页当然是下面的呀!你想想一个没加where的select把几万条记录通过网线下载到客户端,这将是灾难!!!exec(
SELECT Top '+@PageSize+' *
FROM T
WHERE SortField NOT IN (SELECT TOP '+@PageSize*@Pagei+' SortField
FROM T
ORDER BY SortField
)
ORDER BY SortField')
比如用adodb.recordset的pagesize来处理,游标设成服务器方游标,这样子就不用写动态sql了,不过不知道是否可行,是否会对服务器造成过大的压力,我没试过。
有没有谁试过。