| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 829 人关注过本帖
标题:菜鸟的asp问题,请大家帮忙
只看楼主 加入收藏
greatbin
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-9
收藏
 问题点数:0 回复次数:6 
菜鸟的asp问题,请大家帮忙
源码如下:
<table border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" width="98%" id="AutoNumber3" height="52">
<tr>
        <td align=left  width="100%" ><B>单位部门</B></td>

</tr>
    <%set rstopdep=server.createobject("adodb.recordset")
    sqltopdep="select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0 order by depnumber desc"
    rstopdep.open sqltopdep,Conn,1,1
    if not rstopdep.EOF then
    while not rstopdep.EOF
    %>
    <tr>
        <td align="left" width="100%"><a class=class target="_blank" href="dep.asp?id=<%=rstopdep("id")%>"><%=rstopdep("E_DepName")%>-<%=rstopdep("E_DepType")%></a></td>
    
    </tr>
    <%rstopdep.MoveNext
    wend
    end if
    rstopdep.close
    set rstopdep=nothing
    %>
    <tr>
        <td align=right  width="75%" colspan="2"><a class=class href="E_Alldep.asp">更多</a></td>
    </tr>
</table>


问题是sqltopdep="select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0 order by depnumber desc"中的5为什么不起作用?谢谢
搜索更多相关主题的帖子: asp rstopdep EOF 
2008-05-09 08:45
lili0610931
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-6
收藏
得分:0 
说哪里出错了,说出来再给你
2008-05-09 09:23
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
while not rstopdep.EOF
改成
i=1
while not rstopdep.EOF and i<=5
i=i+1
2008-05-09 10:32
greatbin
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-9
收藏
得分:0 
谢谢!为什么里面的5不起作用啊!!
别的都可以啊!!
2008-05-12 14:11
greatbin
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-5-9
收藏
得分:0 
再说
select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0 order by depnumber desc中的5应该是只从数据库表选出5个数据,可实际是数据表全部被列出来啊!!
2008-05-12 14:13
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
实际数据表的数据有多少条?
2008-05-12 14:42
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
关键字top和order by结合使用是会容易出现问题的,原因在于当字段
depnumber有很多重复值时,系统无法确认将哪5条记录提取出来,所以就会产生读出所有的记录。

解决方法一:
再增加一个排序字段,也就是说当字段depnumber相同时,让系统按另外一个字段排序.

解决方法二:
这样:
select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0

或者:
select top 5 * from (select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0) a order by a.depnumber desc

改变一切,须从改变观念开始!
2008-05-12 14:57
快速回复:菜鸟的asp问题,请大家帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012371 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved