列表

详情


 阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司要开发一套网络共享(租用)平台,主要包括移动端APP和管理员服务端程序,其中管理员服务端程序采用ASP.NET+SQL Server 技术,前端页面采用HTML+CSS+JavaScript技术,主要包括管理员登录、租借记录管理、用户管理、物品管理、用户计费管理、异常情况处理等功能。项目团队某成员被分配设计实现管理员登录及异常情况查看功能部分。

【问题1】(5分)
为了防止人为对网站的恶意攻击(程序暴力破解方式进行不断的登录、灌水等),可采用JavaScript验证码技术,验证码是将一串随机产生的数字或符号生成一个不能复制的网页元素(图片、按钮等),并加入一些干扰因素防止OCR。假设在页面加载时就要生成验证码,且验证码长度为4位,验证码由数字及字母组成,生成验证码的网页元素是一个ID为“myCheck”的Button。根据题目描述,完成以下程序。

var validateCode ;
window. (1)_ = function createValidate (){
validateCode = "";
var codeLength=_ (2)_ ;
var validateElement = document. getElementById("_ (3)_ ");
var characters= new Array(0,l ,2,3,4,5,6,7,8,9,'A','B','C",D','E','F,'G','H'T,J, 'K','L','M','N','O','P','Q','R', 'S',"T,'U','V','W",'X','Y',Z');
for(var i=0;i< _ (4)_ ;i+){
var index = Math.floor(Math.random()*36);
validateCode += characters[_ (5)_ ];
}
validateElement.value = validateCode;
}
【问题2】(4分)
在ASP.NET连接SQLServer数据库时,一般是要将连接字符串写到项目的Web.config文件中。假设要连接的SQL Server数据库服务器IP地址为“192.168.2.41”,服务器的身份认证采用SQL Server与Windows混合验证模式,数据库名为“RentDB”,数据库的登录用户名为“sa”, 密码为“@11233”,在Web.config文件的标记中设置数据库连接程序。根据题目描述,完成以下程序。

<(6)>


【问题3】(6分)
以下程序实现用户异常情况查看,通过问题2的配置文件获取连接字符串,数据库中用户表(users)、租用记录表(rents)结构如表2-1、表2-2所示。用户异常情况查看页面中包括用户名文本框(ID为txtusername)、数据绑定控件GridView(ID为gvRents)等。为了显示效果:直观,给每个字段设置对应的中文别名,通过users和rents表联合查询(根据userid字段关联),查询的用户名由页面文本框输入,异常情况指rents表中rentStatus属性值为“异常”的记录,采用SQL参数化方式实现数据库查询。根据题目描述,完成以下程序。

 表2-1 users 表结构


表2-2 rents 表结构


Public void BindData()
{
String cinstr=ConfigurationManger.ConnectionStrings[“ (10) ].ConnectionString;
SqlConnection con=new SqlConnection(constr);
StringBuilder sql=new StringBuilder();
Sql.Append(“select username 用户名,goodsID 物品编号,begintime 起始时间,endtime 结束时间,(11)费用,rentStatus 状态 from rents”);
Sql.APPEND(“INNER JOIN( 12 ) ON rents.userid=users.userid where rentStastus=’(13)’”);
SqlDataAdapter da = new SqlDataAdapter(sql.ToString con);
if (this.txtusername.Text != "")
{
sql.Append(" and username@username");
SqlParameter p = new SqlParameter("_ (14)_ ", this.txtusername.Text);
da = new SqlDataAdapter(sql.ToString con);
da.SelectCommand. Parameters.Add(p);
}
DataSet ds = new DataSet();
da.Fill(ds);
this.gvRents._(15) = ds.Tables[0];
this.gvRents.DataBind();
}

参考答案:

【问题1】:
(1)onload
(2)4
(3)myCheck
(4)codeLength
(5)index
【问题2】:
(6)connectionStrings
(7)connectionString
(8)192.168.2.41
(9)RentDB
【问题3】:
(10)sqlconstr
(11)expenses
(12)users
(13)异常
(14)@username
(15)DataSource

详细解析:

【问题1】:
根据题目要求,这段代码旨在页面加载时生成验证码,所以(1)是网页加载事件为onload;codeLength是该验证码的位数为4位,所以(2)为4;document.getElementById该方法主要是获取生成验证码元素的值,所以(3)为myCheck;for循环语句主要功能是随机生成4位的验证码;验证码保存在字串validateCode中,index的值是0到35的整数作为数组characters的下标,整个语句的意思是从数组characters循环随机取其中4个值作为验证码内容,所以(4)是codeLength;(5)是index。
【问题2】:
根据题目要求,在Web.config文件的<configuration>标记中设置数据库连接程序,需进行connectionStrings配置,所以(6)为connectionStrings;(7)为connectionString;(8)为连接服务器地址192.168.2.41;(9)为数据库名RentDB。
【问题3】:
该代码通过users和rents表建立内连接查询,根据文本框输入的用户名进行查询。ConfigurationManager.ConnectionStrings后面接连接字串名,(10)为sqlconstr;(11)为费用字段名expenses;(12)为建立内连接的第2个表名rents;(13)为“异常”;SqlParameter给@username传递参数;(14)为@username;(15)为绑定数据集方法为DataSource。


上一题