菜鸟的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为什么不起作用?谢谢 说哪里出错了,说出来再给你 while not rstopdep.EOF
改成
i=1
while not rstopdep.EOF and i<=5
i=i+1
谢谢!为什么里面的5不起作用啊!!
别的都可以啊!!再说
select top 5 * from "& db_EC_Dep_Table &" where depnumber>=0 order by depnumber desc中的5应该是只从数据库表选出5个数据,可实际是数据表全部被列出来啊!! 实际数据表的数据有多少条? 关键字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
页:
[1]
