网络考试系统功能实现

1用户登录 图1登录界面 本界面是用户登录的主界面,对的页面为login.aspx ,登录的主要代码在login.aspx.cs中,当用户点击登录按钮时,则触发Button1_Click方法,登录的逻辑都写在这里面。 protected void Button1_Click1(object sender, EventArgs e) { stri

1用户登录

网络考试系统功能实现
图1登录界面
       本界面是用户登录的主界面,对的页面为login.aspx ,登录的主要代码在login.aspx.cs中,当用户点击登录按钮时,则触发Button1_Click方法,登录的逻辑都写在这里面。
protected void Button1_Click1(object sender, EventArgs e)
        {
            string username = txtusername.Text;
            string password = txtpassword.Text;
            string role = txtrole.Text;
 
            string sql = "select count(1) from t_user where username='" + username + "' and password='" + password + "' and role = '" + role + "' ";
 
            int count = Convert.ToInt32(SQLHelper.ExecuteScalar(sql));
 
            if (count <= 0)
            {
                Response.Write("<script language=javascript>alert('登录失败,用户名或密码错误');window.location.href='login.aspx';</script>");
                return;
            }
 
            sql = "select * from t_user where username='" + username + "' and password='" + password + "' and role = '" + role + "' ";
 
            DataTable dt = SQLHelper.ExecuteDataTable(sql);
 
 
 
            Session["userrole"] = Convert.ToString(dt.Rows[0]["role"]);
            Session["username"] = Convert.ToString(dt.Rows[0]["username"]);
            Session["uid"] = Convert.ToString(dt.Rows[0]["id"]);
 
            Response.Write("<script language=javascript>alert('登录成功');window.location.href='index.aspx';</script>");
        }
 
 
       首先从页面获取用户名,密码,用户的登录角色等信息,然后组装登录查询的sql语句string sql = "select count(1) from t_user where username='" + username + "' and password='" + password + "' and role = '" + role + "' ";,把该sql语句放在int count = Convert.ToInt32(SQLHelper.ExecuteScalar(sql));
执行,根据返回的count只来判断是否登录成功,当count小于等于0时,则说明登录失败,否则登录成功,跳转到index.aspx页面
 
 

2系统主界面

网络考试系统功能实现
图2系统主界面
       对应的页面为index.aspx, 用户需要注册登陆后才能进入此页面。根据用户权限的不同,左边菜单栏显示的条目都不一样的。

 3用户管理主界面

网络考试系统功能实现
图3用户管理主界面
       对应的页面为userlist.aspx, 主要用到了asp:Repeater控件对用户的信息进行展示,同时在该页面定义了对用户信息的增加,删除,编辑,查看,分页等操作,在对应的userlist.aspx.cs代码中则主要对repeater.DataBind();的绑定,同时实现了分页,查询的功能。
 

4试题库管理主界面

网络考试系统功能实现
图4试题库管理主界面
       对应的页面为shitilist.aspx, 主要用到了asp:Repeater控件对试题的信息进行展示,同时在该页面定义了对试题信息的增加,删除,编辑,查看,分页等操作,在对应的shitilist.aspx.cs代码中则主要对repeater.DataBind();的绑定,同时实现了分页,查询的功能。
 

5添加试题主界面

网络考试系统功能实现
图5添加试题主界面
       对应的页面为shiti.aspx, 对应的代码为shiti.aspx.cs,当用户点击提交按钮时,触发Button1_Click事件,
protected void Button1_Click(object sender, EventArgs e)
        {
            string sql = "";
 
            if (!IsValid)
            {
 
                return;
            }
 
            string kmid = Request["kmid"];
 
            string action = Request["action"];
 
            if (action == "add")
            {
 
 
                sql = "select * from t_kemu where id=" + kmid;
 
                DataTable dt = SQLHelper.ExecuteDataTable(sql);
 
                string kmname = Convert.ToString(dt.Rows[0]["kmname"]);
 
 
 
                sql = @"insert into t_shiti (leixing,wenti,daan,kmname,kmid,zhishdiian,a,b,c,d) values 
('" + leixing.Text + "','" + wenti.Text + "','" + daan.Text + "','" + kmname
    + "','" + kmid + "','" + zhishdiian.Text + "','" + a.Text + "','" + b.Text + "','" + c.Text + "','" + d.Text + "')";
 
 
                SQLHelper.ExecuteNonQuery(sql);
 
                Response.Write("<script language=javascript>alert('操作成功');window.location.href='shitilist.aspx?kmid=" + kmid + "';</script>");
            }
            else if (action == "edit")
            {
 
             
 
                string id = Request["id"];
 
                sql = "update t_shiti set leixing='" + leixing.Text + "',wenti='" + wenti.Text + "',daan='" + daan.Text +  "',zhishdiian='" + zhishdiian.Text + "',a='" + a.Text + "',b='" + b.Text + "',c='" + c.Text + "',d='" + d.Text + "' where id=" + id;
 
 
                SQLHelper.ExecuteNonQuery(sql);
 
                sql = "select * from t_shiti where id=" + id;
 
                DataTable dt = SQLHelper.ExecuteDataTable(sql);
 
                 kmid = Convert.ToString(dt.Rows[0]["kmid"]);
 
 
 
                Response.Write("<script language=javascript>alert('操作成功');window.location.href='shitilist.aspx?kmid=" + kmid + "';</script>");
 
            }
            else
            {
 
                throw new Exception("action错误" + action);
            }
 
        }
首先判断验证是否成功,通过string action = Request["action"];判断是添加,编辑,删除,还是查看操作,add表示添加操作,
添加操作的sql语句为sql = @"insert into t_shiti (leixing,wenti,daan,kmname,kmid,zhishdiian,a,b,c,d) values 
('" + leixing.Text + "','" + wenti.Text + "','" + daan.Text + "','" + kmname
    + "','" + kmid + "','" + zhishdiian.Text + "','" + a.Text + "','" + b.Text + "','" + c.Text + "','" + d.Text + "')";
然后调用SQLHelper.ExecuteNonQuery(sql);把数据插入到数据库中,然后跳转到shitilist.aspx页面。
 


6系统的调试与测试

6.1软件测试的目的

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。
 

6.2面向对象系统测试方案

根据系统测试目的并结合面向对象方法,我们给出了如下系统测试方案:
(1)尽早的、不断的进行系统测试。我们知道,错误发现的越早,改正它所付出的代价也就越小。由于错误的发生往往是不可避免的,因此我们的系统测试贯穿于整个开发过程中,而不是把系统测试仅仅看作是软件开发的一个独立阶段。
(2)设计测试用例时,给出测试的预期结果。一个测试用例由两部分组成:测试用的输入数据和该输入数据所期望的程序运行结果。这样测试时才能有一个判断标准,利用输入数据得出测试数据并和预测数据进行比较,看它们是否一致。
(3)我们在设计测试用例时,不仅有合法的输入测试用例,还有非法的输入测试用例。因为,在系统的实际使用过程中,由于各种原因,用户往往会使用一些非法的输入,比如按错了键或者使用了非法的命令等,所以,我们特别注意设计非法的输入测试用例来进行测试。
(4)在对系统修改完之后进行回溯测试。我们在修改系统的同时往往又会引入新的错误,所以在对程序修改完之后,用以前的用例进行回归测试。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.sbvv.cn/chachong/525.html,文章版权申述

(0)
上一篇 2017年8月14日 上午12:25
下一篇 2017年8月15日 上午12:07

相关推荐

My title page contents