主要代码 set rowcount 30 select * from (select top 30 * from (select top 30 * from table order by id asc) z order by z.id desc) zz order by id asc 可以在任何程序里扩展 大家试试看。需要源码的找我。 程序是在asp 里测试的。已测试通过。 速度翻页
主要代码
set rowcount 30
select * from (select top 30 * from (select top 30 * from table order by id asc) z order by z.id desc) zz order by id asc
可以在任何程序里扩展
大家试试看。需要源码的找我。
程序是在asp 里测试的。已测试通过。
速度翻页速度很快。
ad:http://www.uutvs.com
' * 数据库转json 分页公用类库' * email:wyonli@gmail.com qq:82366788 $' * $author: cason $' * $id: yl_clsjson.asp 6481 2011-11-26 00:21:46 cason $ property get order_name() dim o_sql,o_colum,olen,o_pai,i dim left_sql,right_sql o_sql = cason_sql olen = instr(o_sql,order) left_sql = left(o_sql,olen-1) right_sql = trim(mid(o_sql,olen)) if olen = 0 then response.write 请设定排序方式! response.end end if o_sql = split(right_sql, ) for i = 0 to ubound(o_sql) if o_sql(i) = by then if i>1 then o_sql(1) = by o_sql(i) = end if end if if i>2 and o_sql(2) = and o_sql(i) then o_sql(2) = o_sql(i) o_sql(i) = end if if o_sql(i) = asc or o_sql(i) = desc then if i >3 then o_sql(3) = o_sql(i) o_pai = & o_sql(i) o_sql(i) = exit for end if end if next right_sql = join(o_sql) if o_pai = then o_pai = asc right_sql = replace(right_sql,o_sql(2),o_sql(2) & asc) end if cason_sql = left_sql & right_sql order_name = o_sql(2) & o_pai end property property get th(byval str_val) if instr(str_val,desc) >0 then th = replace(str_val,desc,asc) else th = replace(str_val,asc,desc) end if end property '================================================================ ' resultset 返回分页后的记录集 '================================================================ public property get resultset() dim cason_rs,col_name dim top_sql,top_count,select_sql dim set_sql col_name = order_name if int(cason_currpage) = 1 then top_sql = top & cason_pagesize & top_count = 0 else top_sql = top & (cason_currpage) * cason_pagesize & top_count = (cason_currpage - 1) * cason_pagesize end if set_sql = select & top_sql & trim(mid(cason_sql,7)) select_sql = set rowcount & cason_pagesize & ;select * from (select top & cason_pagesize & * from ( & set_sql & ) z order by & th(col_name) & ) zz order by zz. & col_name set cason_rs = yl.getrs(select_sql,1,1) if int(cason_currpage)>cason_rs.pagecount then cason_currpage = cason_rs.pagecount end if cason_rs.pagesize = cason_pagesize cason_jsonhtml = ,ireccount: & num_rows & response.write tojson(info,cason_rs) end property