蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[asp]sql不显示指定的top 5

第一个SQL 里边加上top 5 会指显示5个记录
第一个SQL 里边加上top 5 会指不显示5个记录,将对应的所有都显示出来了
不知错误在那里,敬请指正





if RsWebDirClass.EOF and RsWebDirClass.BOF then
改成:
if RsWebDirClass.eof then 就行了,后面的那没有必要。

把 Do Until rst.Eof改成while not rst.eof 循环,这样好,
用Do Until,不管是否有记录都会执行一次,如果没有记录就错了。

谢谢你的提醒,用while却是要好一些

不过我现在主要问的是 SQL问题,也就是每个栏目内显示的新闻数限制,经过一嵌套就全显示了,而外边的就正确,这里我不打算用for 次数,是想用SQL做

没有细看语句,但可能出现的问题,你排序的字段可能是重复的,这样它把这些记录当成一条来处理了

补充一下,我用的数据库是access,ole db连接
刚才网上查了一下资料好像是和 jet SQL和T-SQL的原因

我往常都使用
num=0
while(num<>5 and  not rs.eof)
   ...
  num=num+1
wend

昨天学习想起直接用 select top 5 * form .......... 程序上不是更简洁么,但一试,单个可以,两个一套用就不显示5个,而是显示全部对应记录


楼主的问题,我也遇到过!

至今都不明白是什么地方的问题!

但是有时候好像可以,有时候不行!

郁闷啊!

呵呵
我用SQLSERVER没有出现过这种情况
我用top 的时候在显示的时候也控制循环的次数
所以没有注意

排序时,把排序内容相同的,当做是一条,所以,显示的比需要的多,比如你排序是的内容,五条相同的内容各有三条,就找出十五条记录了,按id排序就不会出现这个问题了

Select top 5 * from tDT_WebDirClass 后边跟上一个 where  的参数

Select top 5 * from tDT_WebDirClass 可能查询的结果全是一样的,所以就全部输入出来





Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com