[说明]
某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户可访问同级别及低级别研究报告、但不能访问高级别研究报告。
用ASP实现该用户区分服务系统,用IE打开该咨询共识的行业研究报告网页文件Report.html后的效果如图所示。
行业咨询报告列表 | ||||
报告名称 | 关键字 | 报告 格式 | 发布时间 | 客户 级别 |
2010—2015年中国餐饮业市场前景及 投资战略咨询报告 | 餐饮、市场预测、 投资 | 2009年1月 | 银卡 | |
2010—2015年中国移动电话行业市场 深度调研及投资预测报告 | 移动电话、投资预测 | 2009年9月 | 金卡 | |
2010—2015年中国钢铁行业市场深度 调研及投资预测报告 | 钢铁、市场调研、 投资预测 | 2010年3月 | VIP | |
<html>
<head>
<title>行业研究报告列表</title>
</head>
<body>
<table width="95%" border="0" align="center" cellpadding="2"
cellspacing="1" bgcolor="#A8D9EC">
<tr>
<td colspan="4" align="center">行业咨询报告列表</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">报告名称</td>
<td align="center" bgcolor="#FFFFFF">关键字</td>
<td align="center" bgcolor="#FFFFFF">报告格式</td>
<td align="center" bgcolor="#FFFFFF">发布时间</td>
<td align="center" bgcolor="#FFFFFF">客户级别</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><a href="read.aspclientlevel=
C&docid=3213">2010—2015年中国餐饮业市场前景及投资战略咨询报告</a></td>
<td align="center" bgcolor="#FFFFFF">餐饮、市场预测、投资</td>
<td align="center" bgcolor="#FFFFFF">PDF</td>
<td align="center" bgcolor="#FFFFFF">2009年1月</td>
<td align="center" bgcolor="#FFFFFF">银卡</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><a href="read.aspclientlevel=
C&docid=2213">2010—2015年中国移动电话行业市场深度调研及投资预测报告</a></td>
<td align="center" bgcolor="#FFFFFF">餐饮、市场预测、投资</td>
<td align="center" bgcolor="#FFFFFF">PDF</td>
<td align="center" bgcolor="#FFFFFF">2009年9月</td>
<td align="center" bgcolor="#FFFFFF">金卡</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><a href="read.aspclientlevel=
A&docid=2216">2010-2015年中国铜铁钼市场深度调研及投资预测报告</a></td>
<td align="center" bgcolor="#FFFFFF">铜铁钼、市场调研、投资预测</td>
<td align="center" bgcolor="#FFFFFF">PDF</td>
<td align="center" bgcolor="#FFFFFF">2010年3月</td>
<td align="center" bgcolor="#FFFFFF">VIP</td>
</tr>
</table>
</body>
</html>
Read.asp文档的内容:
<html>
<body>
<%
If request.cookies("register")<>"true" then
response.______"register.asp"
end if
%>
<%
Set conn=Server.CreateObject("ADODB.______")
Set rs=Server.CreateObject("ADODB.______")
conn.______="Driver=Microsoft Access Driver(*.mdb);Uid=;Pwd=;DBQ="&
Server.______
("database/client.mdb")
conn.open()
%>
<%
dim sql
sql="select * from permission where clientID="&request.cookies("clientID")
set rs=conn.______(sql)
%>
<%
If rs("Level")="VIP" then
response.cookies("docid")=Request.querystring("docid")
response.redirect"showreport.asp"
end if
If rs("Level")="GOLD" then
If Request.querystring("ClientLevel")="A" then
response.redirect"______"
else
response.cookies("docid") =Request.querystring("docid")
response.redirect"______"
end if
end if
…
%>
<%
rs.close()
%>
</body>
</html>
从以下备选答案内为程序中第1~6处空缺选择正确答案。
A.connection B.closeC.Recordset D.command
E.Open F.Run G.Execute H.Dim
I.MapPathJ.redirect K.ConnertionString
参考答案:J或redirect
A或Connection
C或RecordSet
K或ConnectionString
I或MapPath
G或Execute
解析:Cookies集合允许用户检索在HTTP请求中发送的cookie的值。语法为
Request.Cookies(cookie)[(key)|.attribute]
其中,参数cookie指定要检索其值的cookie;key是可选参数,用于从cookie字典中检索子关键字的值;attribe参数用于指定cookie自身的有关信息。
本题中,request.cookies("register")用于判断客户端是否注册过,如果没有,则可以由Response对象的Redirect方法使客户端浏览器重新定位到文件register.asp对应的页面。
ASP通过ADO访问数据库,需要创建一个Connection对象并打开,然后创建RecordSet对象。创建Connection对象的方法为
Server.CreateObject("ADODB.Connection")
创建RecordSet对象的方法为
Server.CreateObject("ADODB.RecordSet")
如果通过无参的Open方法打开Connection对象,则需要由ConnectionString属性指定要保存的数据源,然后调用Open方法。
Connection对象的Execute方法可用于执行SQL语句,故第6空应填入Execute。