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

📄 form_sjjgdy.cs

📁 一个很简单的考试系统。实用性很强啊!数据库在里面
💻 CS
📖 第 1 页 / 共 2 页
字号:
					dgts.MappingName="all";

					this.dgd_sjjdy.TableStyles.Clear();


					System.Windows.Forms.DataGridTextBoxColumn  dgtb_1=new DataGridTextBoxColumn();
					dgtb_1.MappingName="cou_no";
					dgtb_1.HeaderText="课程代码";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_2=new DataGridTextBoxColumn();
					dgtb_2.MappingName="teau_no";
					dgtb_2.HeaderText="教学单元代码";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_3=new DataGridTextBoxColumn();
					dgtb_3.MappingName="teau_name";
					dgtb_3.HeaderText="教学单元名称";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_4=new DataGridTextBoxColumn();
					dgtb_4.MappingName="teau_diffcult";
					dgtb_4.HeaderText="出题量比重(难)";
					//				dgtb_4.Width=this.dgd_sjjdy.Width*2/3;
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_5=new DataGridTextBoxColumn();
					dgtb_5.MappingName="teau_normal";
					dgtb_5.HeaderText="出题量比重(中)";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_6=new DataGridTextBoxColumn();
					dgtb_6.MappingName="teau_easy";
					dgtb_6.HeaderText="出题量比重(易)";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_7=new DataGridTextBoxColumn();
					dgtb_7.MappingName="知识点说明";
					dgtb_7.HeaderText="teau_detail";
					System.Windows.Forms.DataGridTextBoxColumn  dgtb_8=new DataGridTextBoxColumn();
					dgtb_8.MappingName="备注";
					dgtb_8.HeaderText="teau_memo";
			
			
					dgts.GridColumnStyles.Add(dgtb_1);
					dgts.GridColumnStyles.Add(dgtb_2);
					dgts.GridColumnStyles.Add(dgtb_3);
					dgts.GridColumnStyles.Add(dgtb_4);
					dgts.GridColumnStyles.Add(dgtb_5);
					dgts.GridColumnStyles.Add(dgtb_6);
					dgts.GridColumnStyles.Add(dgtb_7);
					dgts.GridColumnStyles.Add(dgtb_8);
				

					this.dgd_sjjdy.TableStyles.Add(dgts);
	
				}
				catch(System.Exception my)
				{
					MessageBox.Show(my.Message);
				}
				finally
				{
				
					this.pnl_sjjgdy3.Enabled  =true;
					this.btn_tj.Enabled =false;
					this.btn_dy.Enabled =false;
					this.btn_qx.Enabled =false;
					this.btn_sjsc.Enabled =true;

				}
			}
			
		}

		private void btn_sjsc_Click(object sender, System.EventArgs e)
		{    
			try
			{
				//定义存储过程cmd命令
				SqlConnection cn=new SqlConnection(db.connStr);
				SqlCommand cmd=new SqlCommand();
				cmd.Connection=cn;
				cmd.CommandText="dbo.sjsc";
				cmd.CommandType=CommandType.StoredProcedure;
		        				
				SqlParameter sp;
				SqlDataAdapter da_s=new SqlDataAdapter();
				int i,j;
				j=0;
				//采集一个teachingunit表为循环,条件是cou_no=等于所选的课程
				SqlDataAdapter dataA=new SqlDataAdapter("select * from teachingunit where cou_no='"+c.ToString()+"'",db.connStr);
				dataA.Fill(ds,"teachingunit");
				//按teachingunit表(课程单元)循环的生成,select_question表
                //循环的通过随机生成试题的存储过程sjsc对每一章的题目(难,中,易)进行抽取,有几章就循环几次存储过程
				foreach(DataRow myDataRow in ds.Tables["teachingunit"].Rows)
				{ 
				//设置sjsc存储过程难的题目的参数
					sp=cmd.Parameters.Add("@n_number",ds.Tables["all"].Rows[j]["teau_diffcult"]);
					sp.Direction=ParameterDirection.Input;
					sp.SqlDbType=System.Data.SqlDbType.Int;
                    //设置sjsc存储过程中的题目的参数
					sp=cmd.Parameters.Add("@z_number",ds.Tables["all"].Rows[j]["teau_normal"]);
					sp.Direction=ParameterDirection.Input;
					sp.SqlDbType=System.Data.SqlDbType.Int;
                    //设置sjsc存储过程易的题目的参数
					sp=cmd.Parameters.Add("@y_number",ds.Tables["all"].Rows[j]["teau_easy"]);
					sp.Direction=ParameterDirection.Input;
					sp.SqlDbType=System.Data.SqlDbType.Int;
                   //设置sjsc存储过程课程名的参数
					sp=cmd.Parameters.Add("@cou_no",c);
					sp.Direction=ParameterDirection.Input;
					sp.SqlDbType=System.Data.SqlDbType.Char;
                        //设置sjsc存储过程教学单元的参数			
					sp=cmd.Parameters.Add("@teau_no",myDataRow.Table.Rows[j]["teau_no"].ToString());
					sp.Direction=ParameterDirection.Input;
					sp.SqlDbType=System.Data.SqlDbType.Char;

					da_s.SelectCommand=cmd;
					//填充数据集生成select_question表
					da_s.Fill(ds,"select_question");
					cmd.Parameters.Clear();//倾空存cmd中的参数
			                     
					j++;
				}
				//把数据集中的表装载到数据窗口
				dgd_sjjdy.DataSource=ds.Tables["select_question"];
				//通过sql语句依次把select_question数据集中的虚表,变成数据库中的实表question_bak(临时的)
				i=0;
				//定义一个插入命令cmdinsert
				SqlCommand cmdinsert=new SqlCommand();
				cmdinsert.Connection=cn;
				//依次循环的插入到question_bak临时表中
				foreach (DataRow datarow in  ds.Tables["select_question"].Rows)
				{ 			
					cmdinsert.CommandText="insert into question_bak values('"+datarow.Table.Rows[i]["cou_no"].ToString()+"','"+
						datarow.Table.Rows[i]["teau_no"].ToString()+"','"+datarow.Table.Rows[i]["que_no"].ToString()+"')";
					cn.Open();
					cmdinsert.ExecuteNonQuery();
					cn.Close();
					i++;
				}
				//把数据窗口字段是英文的,改成中文的
				System.Windows.Forms.DataGridTableStyle dgts=new DataGridTableStyle();
				dgts.MappingName="select_question";

				this.dgd_sjjdy.TableStyles.Clear();


				System.Windows.Forms.DataGridTextBoxColumn  dgtb_1=new DataGridTextBoxColumn();
				dgtb_1.MappingName="cou_no";
				dgtb_1.HeaderText="课程代码";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_2=new DataGridTextBoxColumn();
				dgtb_2.MappingName="teau_no";
				dgtb_2.HeaderText="教学单元代码";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_3=new DataGridTextBoxColumn();
				dgtb_3.MappingName="que_no";
				dgtb_3.HeaderText="试题代码";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_4=new DataGridTextBoxColumn();
				dgtb_4.MappingName="que_type";
				dgtb_4.HeaderText="试题类型";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_5=new DataGridTextBoxColumn();
				dgtb_5.MappingName="que_score";
				dgtb_5.HeaderText="各题分值";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_6=new DataGridTextBoxColumn();
				dgtb_6.MappingName="que_difficulty";
				dgtb_6.HeaderText="难度";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_7=new DataGridTextBoxColumn();
				dgtb_7.MappingName="que_picture";
				dgtb_7.HeaderText="附加说明图片";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_8=new DataGridTextBoxColumn();
				dgtb_8.MappingName="que_content";
				dgtb_8.HeaderText="试题内容";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_9=new DataGridTextBoxColumn();
				dgtb_9.MappingName="que_createtime";
				dgtb_9.HeaderText="试题创建时间";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_10=new DataGridTextBoxColumn();
				dgtb_10.MappingName="que_modifytime";
				dgtb_10.HeaderText="试题修改时间";
				System.Windows.Forms.DataGridTextBoxColumn  dgtb_11=new DataGridTextBoxColumn();
				dgtb_11.MappingName="pap_memo";
				dgtb_11.HeaderText="备注";

			
				dgts.GridColumnStyles.Add(dgtb_1);
				dgts.GridColumnStyles.Add(dgtb_2);
				dgts.GridColumnStyles.Add(dgtb_3);
				dgts.GridColumnStyles.Add(dgtb_4);
				dgts.GridColumnStyles.Add(dgtb_5);
				dgts.GridColumnStyles.Add(dgtb_6);
				dgts.GridColumnStyles.Add(dgtb_7);
				dgts.GridColumnStyles.Add(dgtb_8);
				dgts.GridColumnStyles.Add(dgtb_9);
				dgts.GridColumnStyles.Add(dgtb_10);
				dgts.GridColumnStyles.Add(dgtb_11);


				this.dgd_sjjdy.TableStyles.Add(dgts);
				
				//					 ds.Tables["select_question"].Clear();				
					
			}
			catch(System.Exception my)
			{MessageBox.Show(my.Message);}
			finally
			{
				this.btn_tj.Enabled =true;
				this.btn_dy.Enabled =true;
				this.btn_qx.Enabled =true;
				this.btn_sjsc.Enabled =false;
				this.pnl_sjjgdy2.Enabled =true;
				txt_kssx.Focus();
			}

			
			

		}

		private void btn_tj_Click(object sender, System.EventArgs e)
		{
			
			SqlCommand cmdinsert=new SqlCommand();
			SqlConnection conn=new SqlConnection(db.connStr);
			if (txt_kssx.Text=="" || txt_sjh.Text=="")
			{
				MessageBox.Show("考试时限不能为空,或试卷号不能为空","阜和教育课程体系试题库系统提示");
				
			}
			else
			{//通过临时表select_question用sql插入语句,把select_question表中的记录插入到paper表中
				try
				{  
                    //select_question表与answer表进行联结(一个题目,具有四个答案),生成一个select_answer表
					SqlDataAdapter da=new SqlDataAdapter("select q.* ,a.ans_no from question_bak q join answer a on q.que_no=a.que_no",db.connStr);
					da.Fill(ds,"select_answer");
					int i;
					i=0;
					//把select_answer表中的记录通过循环依次插入到paper表中
					foreach (DataRow datarow in  ds.Tables["select_answer"].Rows)
					{
						cmdinsert.CommandText="insert into paper(cou_no,teau_no,que_no,ans_no,pap_examtime,pap_avalibledate,pap_no,pap_limitterm,pap_createtime,pap_canbesaved) values('"+datarow.Table.Rows[i]["cou_no"].ToString()+"','"+
							datarow.Table.Rows[i]["teau_no"].ToString()+"','"+datarow.Table.Rows[i]["que_no"].ToString()+"','"+
							datarow.Table.Rows[i]["ans_no"].ToString()+"','"+ddtp_kkrq.Value.ToShortDateString()+"','"+
							ddtp_yxq1.Value.ToShortDateString()+"','"+txt_sjh.Text.ToString()+"',"+txt_kssx.Text.ToString()+ ",'"+System.DateTime.Now.ToShortDateString()+"',0)";
						cmdinsert.Connection=conn;
						conn.Open();
						cmdinsert.ExecuteNonQuery();
						conn.Close();
						i++;
					}
					MessageBox.Show("试卷已生成!","阜和教育课程体系试题库系统提示",MessageBoxButtons.OK);  
			
				}
	
			
				catch(System.Exception )
				//抓一个系统出错的信息
				{MessageBox.Show("该试卷已经存在!","阜和教育课程体系试题库系统提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}
				finally

				{      //删去数据库中questio_bak表中的临时记录
					this.pnl_sjjgdy2.Enabled =false;
					SqlConnection cn=new SqlConnection(db.connStr);
					SqlCommand cmd_del=new SqlCommand();
					cmd_del.Connection=cn;
					cmd_del.CommandText="delete  from question_bak";
					cn.Open();
					cmd_del.ExecuteNonQuery();
					cn.Close();
				}
			}
		}

		private void Form_sjjgdy_Closed(object sender, System.EventArgs e)
		{//为了防止操作中断,在关闭当前窗口时,删去数据库中questio_bak表中的临时记录
			SqlConnection cn=new SqlConnection(db.connStr);
			SqlCommand cmd_del=new SqlCommand();
			cmd_del.Connection=cn;
			cmd_del.CommandText="delete  from question_bak";
			cn.Open();
			cmd_del.ExecuteNonQuery();
			cn.Close();
		}

		private void txt_kssx_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
		{
			if (System.Char.IsLetter(e.KeyChar.ToString(),0))
				e.Handled=true;

				
		}

		private void txt_sjh_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
		{
			if (System.Char.IsLetter(e.KeyChar.ToString(),0))
				e.Handled=true;

		}

		private void btn_qx_Click(object sender, System.EventArgs e)
		{
			if (this.ds.Tables.IndexOf("select_answer") !=-1)
		  this.ds.Tables["select_answer"].RejectChanges();
		}

//		private void btn_dy_Click(object sender, System.EventArgs e)
//		{  
//			
//			try
//			{
//				int i=0;
//				foreach (DataRow dr in ds.Tables["select_question"].Rows)
//				{
//					SqlDataAdapter da_name=new SqlDataAdapter("select que_content from question where que_no='"+ds.Tables["select_question"].Rows[i]["que_no"].ToString()+"'",db.connStr);
//					da_name.Fill(ds,"select_name");
//
//					this.listBox1.Items.Add(ds.Tables["select_name"].Rows[i]["que_content"].ToString());
//this.listBox1.Items.Add("______________________________________________________");
//					i++;
//					SqlDataAdapter da_content=new SqlDataAdapter("select ans_content from answer where que_no='"+ds.Tables["select_question"].Rows[i]["que_no"].ToString()+"'",db.connStr);
//					da_content.Fill(ds,"select_content");
//
//					foreach(DataRow dr1 in ds.Tables["select_content"].Rows)
//					{
//						this.listBox1.Items.Add(dr1["ans_content"].ToString());
//						
//					}
//
//					
//
//				}
//			}
//			catch
//			{
//				
//			}
//
//		}

		private void dgd_sjjdy_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
		{
		
		}

		private void pnl_sjjgdy1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
		{
		
		}
		

		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -