回 帖 发 新 帖 刷新版面

主题:输出前N 条记录的问题

    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个回复)

沙发

数据库中hit的值是不是一样,如果是,会将所有的记录都输出的

板凳

不懂你要输出什么条件下的前五条记录?

你给出的代码中输出的是按hit升序排列后的前5条记录。

3 楼


select top 5 * from user order by hit desc
hit字段的值是不一样的,就是想输出前五条,按升序,可是上面的代码把数据库里面的所有记录都输出了。

4 楼

1.在循环中限制条数,并对每条赋值.
2.做一个五行的表格,不翻页

5 楼


升序关键字为: asc 或为不写

降序关键字为: desc

把数据库中字段与数据粘贴一部分出来看看。

6 楼

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 楼

没学过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
是不是多次一举了,还是什么原因呀..看来我得去学了.....
不然看的头疼.....

我来回复

您尚未登录,请登录后再回复。点此登录或注册