函数GridView1_Bind()的代码如下: public void GridView1_Bind() {
string str = \* from oexamresult order by id desc\Class1.Bind(GridView1, \SqlConnection
conn
=
new
SqlConnection(ConfigurationSettings.AppSettings[\conn.Open(); SqlCommand cmd = new SqlCommand(\from oexamresult\conn); SqlDataReader sdr = cmd.ExecuteReader(); conn.Close(); } 选择题添加
选择题添加adds.aspx页面的设计:7个TextBox控件,五个验证控件,1个RadioButtonList控件,2个Button控件,分别为TextBoxid、txtID、TextBox1、TextBox2、TextBox3、TextBox4、TextBox5,五个验证控件分别验证试题内容,答案A,答案B,答案C,答案D不为空,Button1为确定按钮,Button2为取消按钮,点击确定按钮会将新试题添加到表oselet,执行的sql语句: string
str
=\
into
oselect(questionid,questiontext,a,b,c,d,answer,teacherid) values('\\+ TextBox2.Text.Trim() + \+ TextBox3.Text.Trim() + \+ TextBox4.Text.Trim() + \+ TextBox5.Text.Trim() +
- 17 -
\+ RadioButtonList1.SelectedValue.ToString() + \+ TextBoxid.Text.Trim() + \
添加过后会显示添加成功提示信息,然后会将所有的TextBox控件置空,点击取消按钮触发Button2_Click事件,在此事件中会将所有的TextBox控件的Text置空。 判断题添加
判断题添加addj.aspx页面的设计:三个TextBox控件,分别输入教师号,题号,试题题目;一个RadioButtonList空件,用于选择正确答案,一个验证控件用于验证试题题目不为空。两个Button按钮,一个确定按钮,一个取消按钮,点击确定按钮会将新试题添加到表ojudge,执行的sql语句为: string
str
=
\
into
ojudge(questionid,questiontext,answer,teacherid) values('\+ txtID.Text.Trim() + \+ TextBox1.Text.Trim() + \+ RadioButtonList1.SelectedValue.ToString() TextBoxid.Text.Trim() + \
添加过后会出现添加成功的提示信息,然后将TextBox控件置空;点击取消按钮会把所有的TextBox控件置空。 ? 填空题添加 填空题添加addi.aspx页面的设计:四个TextBox控件,分别输入教师号,题号,试题题目,正确答案;一个验证控件用于验证试题题目不为空。两个Button按钮,一个确定按钮,一个取消按钮,点击确定按钮会将新试题
+
\
+
- 18 -
添加到表oinput,执行的sql语句为: string
str
=
string
str
=
\
into
oinput(questionid,questiontext,answer,teacherid) values('\+ txtID.Text.Trim() + \+ TextBox1.Text.Trim() + \+TextBox2.Text.Trim() + \添加过后会出现添加成功的提示信息,然后将TextBox控件置空;点击取消按钮会把所有的TextBox控件置空。
5.4 学生功能
学生功能模块是本系统中很重要的一个模块,它能够实现用户的随机抽取试题在线答题功能,同时系统还提供了自动存档学生的考试成绩的设置,以及查看自身的最新考试成绩功能。在该模块中主要有考试管理与信息管理两方面,在考试管理中有开始考试与查看成绩两个功能,在信息管理中有修改密码、查看信息和修改信息三个功能,下面将详细介绍该功能模块。
考试管理
开始考试exam.aspx页面设计:页首在Panel1中写入提示信息“您好!请点击开始答题进入考试状态。”点击开始考试按钮将进入考试状态,显示所有的考题。在下面有四个按钮分别为:选择题、填空题、判断题、显示所有考题,默认的enable都为false,按下开始考试后它们的enable都变为true,点击选择题按钮时只会在页面上显示选择题,试题放在panel中的GridView1中,点击判断题按钮时只会在页面上显示判断题,试题放在panel中的GridView2中,点击填空题按钮时只会在页面上显示填空题,试题放在panel
- 19 -
中的GridView3中。整个页面大致是由三个面板中的GridView1、GridView2和GridView3构成。在页面首次加载的时候分别从表oselect,oinput,ojudge中随机抽取对应试题中的五道题,
int i=new Random().Next(count-1);string str1 =\top 5 * from [oselect] where id>\,
为抽取选择题表中的五道题,
int i=new Random().Next(count-1);string str1 =\top 5 * from [oinput] where id>\,
为抽取填空题表中的五道题,
int i=new Random().Next(count-1);string str1 =\top 5 * from [ojudge] where id>\,为抽取判断题表中的五道题,然后调用Class1.Bind()函数,将随机抽取的试题绑定到相应的控件中。在回答过试题后,点击Button5进行提交,将触发Button5_Click事件。其代码如下:
protected void Button5_Click(object sender, EventArgs e) { string sql = \int c = 0; for {
RadioButtonList
rbl
(int
a
=
0;
a
<
GridView1.Rows.Count;
a++)
=(RadioButtonList)(GridView1.Rows[a].FindControl(\Label lblc = (Label)(GridView1.Rows[a].FindControl(\然后进行判断,如果输入的答案与数据库中的参考答案不相同,则显示
- 20 -
提示信息回答错,否则不显示。 } }
Button5的enable属性设置为false
填空题与判断题的判断答案代码与选择题的类似。 int w = 0; w=n+b+c;
Response.Write(\一共\回答正确 \题');\
将分数存放在变量中
int t = 0, s = 0, inp = 0, jud = 0; t = w * 10; s = c * 10; jud = n * 10; inp = b * 10; string
str1=
\
into
oexamresult(studentid,selectresult,judgeresult,inputresult,totalresult)values('\,'\
执行sql语句,然后关闭数据库。 } 信息更改
信息更改informationupdate.aspx页面的设计与学生信息查看页面类似,只是三个TextBox的enable属性均为true,两个按钮Button1为确定,Button2为取消,点击Button1按钮触发Click事件: 如果TextBox2与TextBox3为空则执行:
Response.Write(\请将姓名和密码信息补充完整
- 21 -