2017年空乘招生时间:ASP:请各位帮忙分析该小段代码,谢谢!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:04:05
上面是显示在首页的用户名和密码登陆框,如果cook为空,侧在首页显示该登陆框与首页内容。
< %else%>反之,就显示以下内容

此处是表格框

< %set rs=server.createobject("adodb.recordset")
rs.open "select * from his where username='"&request.cookies("godbook")("username")&"' and lx=1 order by ltime desc",conn,1,1
while not rs.eof%>

此处是表格框
< %response.write "<a class=a4 href=../list.asp?id="&rs("bookid")&" target=_blank>"
if len(trim(rs("bookname")))>12 then
response.write left(trim(rs("bookname")),10)&"..."
else
response.write trim(rs("bookname"))
end if
response.write "</a>"
%>
此处是表格框

< %rs.movenext
wend
rs.close
%>
此处是表格框

问题:请问这段代码是什么意思?
his表的条件起何作用?while not rs.eof呢?bookname")))>12呢?
麻烦有心朋友帮忙说明一下;
希望能回头再看一下该贴,也许会有内容补充吧;
谢谢各位朋友了!

我先给个注释:
<%
set rs=server.createobject("adodb.recordset") '这里是建立数据库对象
rs.open "select * from his where username='"&request.cookies("godbook")("username")&"' and lx=1 order by ltime desc",conn,1,1 '这一行是打开数据库的his表,其中有条件是字段username=request.cookies("godbook")("username") 并且lx=1,再按照ltime降序排列所取得的记录

while not rs.eof
'这是开始循环,以不到数据库的最后一条记录为条件,即如果当前记录是数据库的最后一条记录,则运行这一次后就结束循环了。
%>

此处是表格框
< %
response.write "<a class=a4 href=../list.asp?id="&rs("bookid")&" target=_blank>"
'这句是把数据库中的bookid用在链接中做为一个参数。

if len(trim(rs("bookname")))>12 then
response.write left(trim(rs("bookname")),10)&"..."
else
response.write trim(rs("bookname"))
end if
'以上这个if..then...else...end if是判断bookname字段的值的长度,如果长度大于12就截取前面的10个字并加上"...",如果不大于12,就不截取而全部输出来
response.write "</a>"
'这句很简单,就是关闭链接标签
%>
此处是表格框

< %rs.movenext '这句是把之前所取的数据集的记录指针往下移动一条。
wend 'while循环语句的结束符
rs.close '关闭RS数据集
%>

上面这段代码就是先取出符合条件的记录,并通过循环生成一些链接并输出在网页上。

his表的条件是把username字段的值等于cookies("godbook")("username")并且lx=1的所有记录列出来,而且按ltime降序进行排序

rs.open "select * from his where username='"&request.cookies("godbook")("username")&"' and lx=1 order by ltime desc",conn,1,1

这是他查询数据库的条件。
当数据库中表HIS的USERNAME字段=COOKIES(“GODBOOK”)(“USERNAME”) 并且 LX=1 的时候
将查询结果按LTIME的降序排列

while not rs.eof呢?
直到查询的表尾。相当按你条件查询的最后一条记录。
bookname")))>12呢?
BOOKNAME的长度。
比如说:我是中国人这是我的书=10<12
我是中国人这是我的书我是中国人这是我的书=24 >12