注册 登录
编程论坛 ASP技术论坛

查询语句有错,请帮助

zhuzhanjun 发布于 2008-06-06 09:36, 1817 次点击
select top 5 * from content order by infotime desc


以上的语句不是按照时间来排序最新五条数据的吗?
怎么我显示出7条数据。好奇怪哦。。

求高手帮助
18 回复
#2
zhangyao32872008-06-06 09:37
do while ... loop循环?
#3
zhuzhanjun2008-06-06 09:59
代码如上:


<%    
                dim sqlBL,rsBL
                sqlbl="select top 5 * from content order by infotime desc"
                set rsbl=server.CreateObject("adodb.recordset")
                rsbl.open sqlbl,conn,1,3
            %>
            <TABLE cellSpacing=0 cellPadding=3 width="99%" align=center border=0>
              <TBODY>
              
                <tr><td height="5"></td></tr>
                <%
                    if not rsbl.eof then
                    do while not rsbl.eof
                %>
                  <TR>
                <TD width="29%"><SPAN  class=red2>[ <%=rsbl("BigClassName")%> ]</SPAN></TD>
                <TD width="70%">
                    <A href="blog/blog_list.asp?id=<%=rsbl("id")%>"><%=left(rsbl("title"),14)%>...</A>
                </TD>
                 </TR>
                <%
                    rsbl.movenext
                    loop
                    rsbl.close
                    set rsbl=nothing
                    end if                    
                %>
#4
zhangyao32872008-06-06 10:10
用for循环看看?
for i = 1 to rs.recordcount
if rs.eof then exit for
  ...
rs.movenext
next
#5
zhuzhanjun2008-06-06 10:24
还是显示七条啊
#6
zhangyao32872008-06-06 10:26
Response.Write rs.recordcount
看看一共是多少条记录啊
这种简单的测试要学着做的
#7
cnly2008-06-06 10:26
<%   
                dim sqlBL,rsBL
                sqlbl="select top 5 * from content order by infotime desc"
                set rsbl=server.CreateObject("adodb.recordset")
                rsbl.open sqlbl,conn,1,3
            %>
            <TABLE cellSpacing=0 cellPadding=3 width="99%" align=center border=0>
              <TBODY>
              
                <tr><td height="5"></td></tr>
                <%
                    if rsbl.eof then
                         Response.write("没有记录")
                    else
                    do while not rsbl.eof
                %>
                  <TR>
                <TD width="29%"><SPAN  class=red2>[ <%=rsbl("BigClassName")%> ]</SPAN></TD>
                <TD width="70%">
                    <A href="blog/blog_list.asp?id=<%=rsbl("id")%>"><%=left(rsbl("title"),14)%>...</A>
                </TD>
                 </TR>
                <%
                    rsbl.movenext
                    loop
                    rsbl.close
                    set rsbl=nothing
                    end if                    
                %>
#8
zhangyao32872008-06-06 10:28
只读不需要rsbl.open sqlbl,conn,1,3  rsbl.open sqlbl,conn,1,1就可以了
Response.Write sqlbl
Response.End()
输出的SQLBL结果放入数据库查询分析一下
#9
zhuzhanjun2008-06-06 10:40
Response.Write ("abc::::::::::::::"+rsbl.recordcount)
    response.End()


什么都没有显示啊
#10
zhangyao32872008-06-06 10:42
Response.Write sqlbl
Response.End()
输出的SQLBL结果放入数据库查询分析一下
#11
zhuzhanjun2008-06-06 10:43
select top 5 * from content order by infotime desc

在数据库分析器显示7条,怎么那么奇怪的
#12
zhuzhanjun2008-06-06 10:45
content表里面工有10条记录。

select top 5 * from content order by infotime desc
显示7条
#13
zhangyao32872008-06-06 11:07
呵呵,你先测试一个好使的语句用吧
#14
madpbpl2008-06-06 11:43
[bo][un]zhuzhanjun[/un] 在 2008-6-6 09:36 的发言:[/bo]

select top 5 * from content order by infotime desc


以上的语句不是按照时间来排序最新五条数据的吗?
怎么我显示出7条数据。好奇怪哦。。

求高手帮助

这是因为有时间(infotime)相同的数据,所以一起列出来了
#15
zhuzhanjun2008-06-06 12:23
嗯~对啊。楼上的朋友。
那七条数据都是同一个日期的。。

但是我只要最新五条,那我应该怎么做呢。
谢谢
#16
zhangyao32872008-06-06 12:45
order by id desc
#17
madpbpl2008-06-06 13:10
i=1
do while not rsbl.eof and i<=5

.........'你的循环部份

i=i+1
rsbl.movenext
loop
#18
zhuzhanjun2008-06-06 13:25
非常感谢楼上的两位朋友啊。
#19
dhdhzzw2008-06-06 13:35
有相同时间的数据吗?
1