主题:输出前N 条记录的问题
hcn008
[专家分:380] 发布于 2007-06-28 07:31:00
set rsp=server.CreateObject("ADOdb.recordset")
sqlp="select top 5 * from user order by hit desc"
rsp.open sqlp,conn,1,1
if not rsp.eof then
do while not rsp.eof
response.write rsp("hit")
rsp.movenext
loop
end if
这样会不会只输出前五条记录?好像输出了所有记录,我想输出前五条怎么改这个呢?
回复列表 (共7个回复)
沙发
wangsdong [专家分:21390] 发布于 2007-06-28 09:02:00
数据库中hit的值是不是一样,如果是,会将所有的记录都输出的
板凳
mdwboy [专家分:410] 发布于 2007-06-28 09:37:00
不懂你要输出什么条件下的前五条记录?
你给出的代码中输出的是按hit升序排列后的前5条记录。
3 楼
hcn008 [专家分:380] 发布于 2007-06-28 11:21:00
select top 5 * from user order by hit desc
hit字段的值是不一样的,就是想输出前五条,按升序,可是上面的代码把数据库里面的所有记录都输出了。
4 楼
martine [专家分:4950] 发布于 2007-06-28 11:45:00
1.在循环中限制条数,并对每条赋值.
2.做一个五行的表格,不翻页
5 楼
tianyu123 [专家分:2570] 发布于 2007-06-28 12:38:00
升序关键字为: asc 或为不写
降序关键字为: desc
把数据库中字段与数据粘贴一部分出来看看。
6 楼
longlong16 [专家分:10670] 发布于 2007-06-28 13:57:00
set rsp=server.CreateObject("ADOdb.recordset")
sqlp="select top 5 * from user order by hit desc"
rsp.open sqlp,conn,1,1
i = 0
if not rsp.eof and i <=5 then
do while not rsp.eof
response.write rsp("hit")
rsp.movenext
i = i + 1
loop
end if
7 楼
yibats [专家分:0] 发布于 2007-06-30 09:14:00
没学过ASP不懂。不过这边好象是指定输出5条记录(sqlp="select top 5 * from user order by hit desc")
那为什么这边还要指定呢?
i = 0
if not rsp.eof and i <=5 then
do while not rsp.eof
response.write rsp("hit")
rsp.movenext
i = i + 1
loop
end if
是不是多次一举了,还是什么原因呀..看来我得去学了.....
不然看的头疼.....
我来回复