access中使用select top显示全部记录的解决方法
作者:哈尔滨php学习 文章来源:IT学习网原创 发表时间:2008-03-19 11:31:43
阅读次数:今日:1 本周:1 本月:21 总计:5787
    很早以前做asp+access的网站,就发现sql语句select top无效,不管top几条都是全部出来,同样的语句在sql2000中正常,邪门了,当时查查关于ACCESS中TOP 功能的一个问题,一直没有解决,就偷懒用限定程序循环次数解决了。

最近重写深度学习(asp)网址导航(www.deepteach.com/url),又仔细查了一下资料。原来是access中对select top的语句支持有限,如果想在使用,要在查询TOP语句的后面使用Order by,而且Order by排序字段必须是无重复值,如果有重复值的话,那么这个TOP很可能会失效,会返回所有记录。
比如: 
              Select top 5 from 表 order by 性别
如果“性别”字段中有重复值,那么access数据库查询时很有可能会显示出所有的记录来,此时top功能会失效的,但如果“性别”中无重复值,那么top功能还是有效的

因此,在ACCESS中使用top功能要注意一下order by的字段是否会有重复值,为了保险起见,可以采用“加入主键”的方式:
              Select top 5 from 表 order by 性别,id

用主键作“不可能重复”的保障就可以防止此问题出现了!!
大家可以参考深度学习(asp)网址导航新老版本 来对比 sql中 top使用的在acess数据库中的差异 。
关键字:asp,access
最后编辑时间:2008-03-19 11:31:43
上一篇:
下一篇: 如何压缩sql2000日志文件