列表

详情


阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司使用ASP开发商务网站,该商务网站具有商品介绍、会员管理、在线支付、物流管理和访客计数器等功能,采用Sqlserver数据库,数据库名为business,其中访客计数器表存储今日访问量、昨日访问量和总访问量等字段,其名称为counter。

【问题1】(6分)
ASP访问数据库一般采用ADO技术,ADO对象主要包含Connection对象、Command对象、Parameter对象、Recordset对象、Field对象和Error对象等。请根据ADO对象之间的关系,在空(1)~(6)处填写正确的对象名。


【问题2】(7分)
该商务网站的计数器部分代码如下,请根据题目说明,将空缺的代码补充完整。
<%
set conn=server.createobject("adodb.connection")
(7) .provider="sqloledb "
provstr="server=127.0.0.1; database= (8) ; uid=sa; pwd=9857452"
conn_.open provstr
set rs=conn.Execute("select * from counter")
……
conn.Execute"Update counter set counter=counter+1, today=0, statdtm=date(), daynum=daynum+1, yesterday="&rs("today") &""
conn.Execute" (9) into yesday(yesday.stats) values ( ' " &yesday&" ', "&rs("today")&")"
……
application. (10)
if rs("top") conn.Execute"Update counter set counter=counter+1, today=today+1, [top]=" &rs("today") &""
else
conn.Execute"Update counter set counter=counter+1, today=today+1"
end if
(11) .unlock
end if
counters= (12)
today= (13)
yesterday=rs("yesterday")
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
document.write('总共访问量:<%=counters%>, 今日访问: <%=today%>, 昨日访问: <%=yesterday%>');
【问题3】(2分)
从上述ASP代码可以判断出,计数器表counter中statdtm的字段类型是(14),counter的字段类型是 (15)。

参考答案:

【问题1】
(1)Connection对象
(2)RecordSet对象
(3)Command对象
(4)Error对象
(5)Parameter对象
(6)Field对象
【问题2】
(7)conn
(8)business
(9)Insert
(10)lock
(11)application
(12)rs("counter")
(13)rs("today")
【问题3】
(14)日期型
(15)数值型

详细解析:

本题考查ASP程序设计的应用。
【问题1】
本问题考查ADO技术的基本应用。
ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法之一,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到ASP页面上。
ADO对象主要包含Connection对象、Command对象、Parameter对象、RecordSet对象、Field对象、Property对象和Error对象等七个对象,它们之间的关系如下图所示。


<rs("today") then
【问题2】
本问题考查ASP程序设计的知识。
<%
set conn=server.createobject("adodb.connection")
conn.provider="sqloledb " //创建的实例名为conn
provstr="server=127.0.0.1; database=business; uid=sa; pwd=9857452" //根据说明,数据库名为business
conn_.open provstr
set rs=conn.Execute("select * from counter")
……
conn.Execute"Update counter set counter=counter+1, today=0, statdtm=date(), daynum=daynum+1, yesterday="&rs("today") &""
conn.Execute"Insert into yesday(yesday.stats) values ( ' " &yesday&" ', "&rs("today")&")" //执行sql的插入操作
……
application.Lock //application对象操作前先锁定
if rs("top") conn.Execute"Update counter set counter=counter+1, today=today+1, [top]=" &rs("today") &""
else
conn.Execute"Update counter set counter=counter+1, today=today+1"
end if
application.unlock //application对象操作后解锁
end if
counters=rs("counter") //从rs记录集中取出counter字段的值
today=rs("today") //从rs记录集中取出today字段的值
yesterday=rs("yesterday")
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
document.write('总共访问量:<%=counters%>, 今日访问: <%=today%>, 昨日访问: <%=yesterday%>');
【问题3】
本问题考查Sqlserver数据库的基本应用。根据代码conn.Execute"Update counter set counte=counter+1,today=O,statdtm=date(),daynum=daynum+1, yesterday="&rs("today")可以判断出,计数器表counter中statdtm的字段类型是日期型,counter的字段类型是数值型。

上一题