秦时明月的刘邦:我想取第一条记录,为什么列出了所有记录?

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 20:08:18
<%set rs=server.createobject("adodb.recordset")
rs.open "select Top 1 news.title,news.date,news.content,jsfile.photopath from jsfile inner join news on jsfile.smallclassen=news.smallclassen where jsfile.smallclassen='photonew' and jsfile.bigclassen='photo' order by jsfile.ID desc",conn,1,1
if rs.recordcount=0 then

jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共有100条记录,即使你用SELECT TOP 1 来返回记录,也同样返回100条记录,因为 JET DB 无从在这100条记录里面判断先后次序,只能返回100条。要解决此问题可以建立一个自动编号字段(id),然后用
select top 1 a,id from tablename order by a,id
.
你可以试试用order by news.ID 或者不用order by。

因为你用了连接表查询,所以会取出所有的记录!