谁来做老师帮我检查一下作业(关于ASP的)

来源:百度知道 编辑:UC知道 时间:2024/06/02 20:03:09
<%
page=request("page") '从客户端读取"page"字符串到page变量中
if page="" then '如果page为空
page=1 '那么page值为1
end if '结束if语句
apage=cint(page) '这里不是很明白,apage是当前为第几页的变量,为什么用cint而不用int呢,难道不能是单数吗
pagesize=10 '设置每页的记录数为10条
Sql="Select * from booka order by gbID Desc" '查询booka数据源并gbID的内容按降序排列
set conn=Server.CreateObject("ADODB.Connection") '创建一个新的数据库连接
conn.open "DRIVER=Driver do Microsoft Access (*.mdb);UID=admin;PWD=;DBQ="&Server.MapPath ("xiao.mdb") '连接数据库
set oRs=Server.CreateObject("ADODB.Recordset") '创建一个新的数据库记录
oRs.Open Sql,Conn,1,1 '设置数据库的可操作属性
if oRs.Eof And oRs.Bof Then '如果不为空
response.write"sg=no" '输出"sg=no"字符串到客户端的浏览器
Else '否则
totalrec=oRs.re

apage=cint(page) ' 这里可以用int,没有区别的,看个人习惯,我就用的是int
if oRs.Eof And oRs.Bof Then '应该是如果为空
pagecount=int(totalrec/pagesize * -1) * -1 '这个是计算总页数,但是最好用 column.pagesize=pagenum
column.pagecount就是总页数了,而且这些都是系统查询直接生成的,不需要计算,要更快一些。
rsn=apage * pagesize - 9 '因为这个是人工自己分页,所以要知道该页数据的指针应该移动到哪里开始页面输出。这里的设计不是很严密,如果你前面把pagesize设置为大于或者小于10,这个就不准确了,应该改成rsn=(apage-1) * pagesize + 1
oRs.absoluteposition=rsn '查询数据的记录指针移动到这个位置
While (not oRs.Eof) and (i<pagesize+1) '这里是说每循环一次,指针下移一次,如果到达末端,或者页数到达最大值,(因为是用的小于,所以当i等于pagesize之后循环就截止了),就跳出循环
'gbId= gbId + &gbId + i + = + trim(oRs("gbid"), 既然有了gbId为什么要加上&gbId呢,
这里指的是不断的在gbId 后面累加子窜,后面的其他变量也是一样的。
比如你循环
for i=1 to 10
a=a+"1"
b=1
next
结果则是 a=“1111111111” b=“1”
response.write(gbId&gbName&gbOicq&gbDate&gbTitle&gbTime&gbContent&jj1&jj2&jj3&"&sg=ok") '这句比较麻烦,本来这个response.write是用来输出显示的,我估计这里的这句应该是作为诊断程序用的。所以去掉也没什么。至于jj2="&p