⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testroom.aspx.cs

📁 在线考试系统: 1、为了保证示例代码正确运行
💻 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 + -