链接要这样写:<a
href='xxx.asp?id=<%rs("id")%>'
target='_blank'>查看详细</a>
然后在xxx.asp页面里的用过取request("id")显示相关信息,如sql这样写:"select
*
from
table
where
id="+request('id')
简单的说就是连接数据库,按照传人参数要求查询数据库,返回结果集,再进行处理显示的问题。首先,根据参数拼凑sql
然后,打开数据库连接
执行sql
获取结果集
处理数据
关闭连接并反馈给页面显示
祝好运,望采纳。
首先要知道分页显示数据需要哪些参数,包括总共有多少条数据的参数dataCount,每页显示多少条数据的参数pageSize,总共有多少页数的参数pageCount,当前页数(页码)的参数pageIndex。获取总共多少条数据的参数dataCount非常简单,执行Sql语句“select count(*) from test”就可以拿到dataCount值了,还有一个非常简单的参数就是当前页数(页码)pageIndex默认就是1。
每页显示多少条数据根据网页显示量来设定,假设网页一页显示10,那么pageSize就是10,有dataCount和pageSize值,总共有多少页数也就可以获得了,pageCount=dataCount/pageSize,通过这样计算页数方式获得的数据量一定小于实际的页数,这里就需要用到取顶函数pageCount=1.0*dataCount/pageSize。
关键就是如何通过准备的参数获取数据,还需要用到Sql Server2005及以上版本的数据库才有的给数据库表数据查询时增加序号的函数,这是因为我们存放在数据库的数据没有连续自动增长的编号,借助函数row_number()可以通过按某个字段排序设定序号,方便获取数据准确。
比较两条Sql语句“select * from test”和“select *,row_number() over(order by Test1) as '序号' from Test”查询数据进行比较就会发现在查询结果中会增加一个通过字段Test1排序而产生的一个序号,并且这个序号是连续自动增长的。
接下来创建存储过程,指定参数就可以了。
create proc P_Test--创建存储过程P_Test
@pageSize int,--每页数据条数
@pageIndex int,--当前页数(页码)
@pageCount int output--总的页数,因为需要显示页数,因此是个输出参数
as
declare @datacount int--总数据条数
select @datacount=count(*) from test--获得总数据条数值并赋给参数
set @pageCount=ceiling(1.0*@datacount/@pageSize)--获得总页数,并赋给参数
--接下来是获得指定页数据
select * from
(select *,row_number() over(order by Test1) as num from test) as temp
where num between @pageSize*(@pageIndex-1)+1 and @pageSize*@pageIndex
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)