📄 testroom.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Configuration;
using System.Data.SqlClient;
namespace TestOnline
{
/// <summary>
/// TestRoom 的摘要说明。
/// </summary>
public class TestRoom : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Panel Panel1;
protected System.Web.UI.WebControls.Button btnexit;
protected System.Web.UI.WebControls.Button btnsubmit;
protected System.Web.UI.WebControls.DataGrid dgdpaper;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label lblpapername;
protected System.Web.UI.WebControls.Panel panelpaper;
protected System.Web.UI.WebControls.Button btnstart;
protected System.Web.UI.WebControls.Panel panelstart;
protected System.Web.UI.WebControls.Button btnback;
protected System.Web.UI.WebControls.Label lblusername;
protected System.Web.UI.WebControls.Label lblscore;
protected System.Web.UI.WebControls.Label lblname;
protected System.Web.UI.WebControls.Label lblpaper;
protected System.Web.UI.WebControls.Label lbltime;
DateTime dtmStartDate ;
//DateTime dtmLastDate;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
panelstart.Visible = true;
panelpaper.Visible = false;
Panel1.Visible = false;
Label1.Visible = false;
lblusername.Text=Session["username"].ToString();
}
private string GetPaperName()
{
int IntPaperID;
IntPaperID = Convert.ToInt32(Request.QueryString["PaperID"]);
String objsql = "select PaperName from Papers Where PaperID=" + IntPaperID;
//创建数据库连接对象
SqlConnection objconn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
//打开数据库连接;
objconn.Open();
SqlCommand objcmd = new SqlCommand(objsql, objconn);
SqlDataReader dr = objcmd.ExecuteReader();
if (dr.Read())
{
lblpapername.Text = dr["PaperName"].ToString();
}
else
{
lblpapername.Text = "出现错误";
}
String papername = lblpapername.Text.ToString();
return papername;
}
void Bind_Questions()
{
//创建数据库连接对象
SqlConnection objconn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
//打开数据库连接
objconn.Open();
String objsql;
string papername = GetPaperName();
objsql = "select * from " + papername;
SqlDataAdapter da = new SqlDataAdapter(objsql, objconn);
//创建并填充DataSet
DataSet ds = new DataSet();
da.Fill(ds);
dgdpaper.DataSource = ds;
dgdpaper.DataBind();
objconn.Close();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnstart.Click += new System.EventHandler(this.btnstart_Click);
this.btnsubmit.Click += new System.EventHandler(this.btnsubmit_Click);
this.btnback.Click += new System.EventHandler(this.btnback_Click);
this.btnexit.Click += new System.EventHandler(this.btnexit_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnstart_Click(object sender, System.EventArgs e)
{
panelstart.Visible = false;
Bind_Questions();
panelpaper.Visible = true;
Panel1.Visible = false;
dtmStartDate=DateTime.Now;
Label1.Text = (string)dtmStartDate.ToString();
}
void UpDate_Score()
{
}
private void btnsubmit_Click(object sender, System.EventArgs e)
{
int thescore= 0;
int totalscore = 0;
for(int i=0;i<dgdpaper.Items.Count-1;i++)
{
//获取考生的答案数据
TextBox tbxanswer=(TextBox) dgdpaper.Items[i].FindControl("tbxanswer");
TextBox Answer=(TextBox)dgdpaper.Items[i].FindControl("Answer");
TextBox Score = (TextBox)dgdpaper.Items[i].FindControl("Score");
int sc = Convert.ToInt32(Score.Text);
totalscore=totalscore+sc;
if (tbxanswer.Text == Answer.Text)
{
thescore = thescore+sc;
}
else
{
thescore = thescore ;
}
}
Response.Write(thescore+totalscore);
//把得到的分数写入数据库成绩表
//创建数据库连接对象
SqlConnection objconn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
//打开数据库连接,为数据库操作提供准备
objconn.Open();
//创建数据库命令
SqlCommand objcmd = new SqlCommand("InsertScore", objconn);
//命令类型为存储过程
objcmd.CommandType = CommandType.StoredProcedure;
//添加参数
//学生姓名
SqlParameter paramStuName = new SqlParameter("@StuName", SqlDbType.NVarChar, 16);
paramStuName.Value = Session["username"].ToString();
objcmd.Parameters.Add(paramStuName);
//试卷名称
string papername = GetPaperName();
SqlParameter paramPaperName = new SqlParameter("@PaperName", SqlDbType.NVarChar, 50);
paramPaperName.Value = papername;
objcmd.Parameters.Add(paramPaperName);
//试卷总分
SqlParameter paramTotalScore = new SqlParameter("@TotalScore", SqlDbType.Int);
paramTotalScore.Value = totalscore;
objcmd.Parameters.Add(paramTotalScore);
//学生成绩
SqlParameter paramStuScore = new SqlParameter("@StuScore", SqlDbType.Int);
paramStuScore.Value = thescore;
objcmd.Parameters.Add(paramStuScore);
//考试时间
SqlParameter paramTestTime = new SqlParameter("@TestTime", SqlDbType.DateTime);
paramTestTime.Value =DateTime.Now;
objcmd.Parameters.Add(paramTestTime);
//执行数据库操作
objcmd.ExecuteNonQuery();
//Response.Write("papername");
//关闭数据库连接
objconn.Close();
Panel1.Visible=true;
panelstart.Visible = false;
lblscore.Text=thescore.ToString();
lblname.Text=Session["username"].ToString();
lblpaper.Text=papername;
lbltime.Text=DateTime.Now.ToString();
}
private void btnexit_Click(object sender, System.EventArgs e)
{
Session["username"] = "";
Response.Redirect("login.aspx");
}
private void btnback_Click(object sender, System.EventArgs e)
{
Response.Redirect("StuDefault.aspx");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -