玛卡巴卡的视频:ASP 中一段简单的程序,是什么意思啊?

来源:百度文库 编辑:高校问答 时间:2024/04/30 14:29:26
xh=request("xh")
set rs=server.createobject("adodb.recordset")
conn = "DBQ=" + server.mappath("../school.asa") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
if request("xh")<>"" then
sql="select * from bbs1 where xh ='" & xh & "'"
else
sql="select top 1 * from bbs1"
end if
rs.Open sql,conn,1,1
totalput=rs.RecordCount
if rs.EOF and rs.BOF then
Response.Write "很抱歉!当前没有这个学号的成绩"
else
这段程序里的if request("xh")<>"" then 和sql="select top 1 * from bbs1"还有if rs.EOF and rs.BOF then这三句具体是什么意思啊,我就这三句觉得有点困惑.

request("xh"):想要查找的学号,应该是一个要求用户输入的参数;
整个代码的意思是:
如果想要查找的学号不为空(if request("xh")<>"" ),则从bbs1表里查找学号符合要求的所有字段("select * from bbs1 where xh ='" & xh & "'"
),否则(也就是如果学号为空),从表bbs1里取出第一行记录的所有字段。
(if rs.EOF and rs.BOF then
Response.Write "很抱歉!当前没有这个学号的成绩")可以理解为:如果表里没有记录(指针既位于记录的开头,又位于记录的结尾),则返回“很抱歉!当前没有这个学号的成绩”的提示。

1.if request("xh")<>"" then 表示从判断上一个表单中的提交的Xh控件中的数据是否为空。
2.Sql = "Select top 1 * from bbs1",表示获取BBS1表中第1条数据。
3.if rs.EOF and rs.BOF then,表示判断记录集是否为空

第一句表示判断上一个表单中的提交的Xh控件中的数据是否为空。
第二句表示获取BBS1表中第1条数据。
第三句表示当不到文件末尾时就执行then后面的语句(bof是指从后到前,eof指从前到后)

首先:if request("xh")<>"" then 是指当从表单里面获得的xh(xh具体是什么含义你自己知道吧)不是空时就执行then后面的语句...,sql="select top 1 * from bbs1指从表bbs1中选出满足where xh ='" & xh & "'" 条件的top1字段的值.if rs.EOF and rs.BOF then这句表示:当不到文件末尾时就执行then后面的语句(bof是指从后到前,eof指从前到后)不知道我这样解释你是否明白呢?