📄 form_sjjgdy.cs
字号:
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 + -