asp问题请教!

来源:百度知道 编辑:UC知道 时间:2024/05/19 20:38:45
有这样一段代码:
<% sqluser="select * from uuser order by time desc"
set rsuser=conn.execute(sqluser)
if not(rsuser.bof and rsuser.eof) then
username1=rsuser("username")
end if%>
uuser表中不只一条数据,请问,username1取得是哪条记录的值,或者是不是个值集?请大家帮我解说一下.谢谢!

username1取得是你数据库中username字段中的值
username1 是你定义的一个变量 这肯定不是 所有代码 后面一定还会出现username1也许他会被输出 也学他会怎怎么样的

<% sqluser="select * from uuser order by time desc"
从uuser表中取出数据按时间从大到小排序
set rsuser=conn.execute(sqluser)
执行sqluser
if not(rsuser.bof and rsuser.eof) then
username1=rsuser("username")
从数据库中取出username值存入username1中
end if%>
if语句结束

是的。rsuser这个取得的是一个记录集,也就是你的uuser表中的所有数据,以行为单位。而你这里取得的username1只是以time倒序排列后的第一行的username字段的值。

但是你如果在前文中有游标指令的话,比如movenext等,那就不一定了,默认情况下是第一行

rsuser.bof and rsuser.eof的意思是最后一条记录与第一条记录,,只有数据库为空时成立
not(rsuser.bof and rsuser.eof)也就是有数据时就有记录
order by time desc按时间降序

整个这段代码只会有一条记录输出,因为他只取出了一次数据,判断了一次,取出的是time最大的记录


order by time desc
决定的第一条记录

取的是第一条记录的值