ScoreInput.cs
资源名称:VCSDB.rar [点击查看]
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:14k
源码类别:
企业管理
开发平台:
C#
- using System;
- using System.Drawing;
- using System.Collections;
- using System.ComponentModel;
- using System.Windows.Forms;
- using System.Data;
- using System.Data.SqlClient;
- namespace 教务管理系统
- {
- /// <summary>
- /// ScoreInput 的摘要说明。
- /// </summary>
- public class ScoreInput : System.Windows.Forms.Form
- {
- private string courseID;//当前所列成绩课程的课程编号
- private DataTable scoreTable=new DataTable();//保存某一门课的成绩单
- private SqlDataAdapter da;//用来填充成绩表的数据适配器
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.GroupBox groupBox3;
- private System.Windows.Forms.DataGrid dataGrid1;
- private System.Windows.Forms.Button btnEndElect;
- private System.Windows.Forms.Button btnQuery;
- private System.Windows.Forms.Button btnSubmit;
- private System.Windows.Forms.TextBox txt1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txt2;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txt3;
- private System.Windows.Forms.Button btnModify;
- private System.Windows.Forms.TextBox txt4;
- /// <summary>
- /// 必需的设计器变量。
- /// </summary>
- private System.ComponentModel.Container components = null;
- public ScoreInput()
- {
- //
- // Windows 窗体设计器支持所必需的
- //
- InitializeComponent();
- //
- // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
- //
- }
- /// <summary>
- /// 清理所有正在使用的资源。
- /// </summary>
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
- #region Windows 窗体设计器生成的代码
- /// <summary>
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// </summary>
- private void InitializeComponent()
- {
- System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ScoreInput));
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label1 = new System.Windows.Forms.Label();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.groupBox3 = new System.Windows.Forms.GroupBox();
- this.dataGrid1 = new System.Windows.Forms.DataGrid();
- this.btnEndElect = new System.Windows.Forms.Button();
- this.btnQuery = new System.Windows.Forms.Button();
- this.btnSubmit = new System.Windows.Forms.Button();
- this.txt1 = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.txt2 = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
- this.txt3 = new System.Windows.Forms.TextBox();
- this.btnModify = new System.Windows.Forms.Button();
- this.txt4 = new System.Windows.Forms.TextBox();
- this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.groupBox3.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
- this.SuspendLayout();
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txt1);
- this.groupBox1.Controls.Add(this.btnSubmit);
- this.groupBox1.Controls.Add(this.btnQuery);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.txt2);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.txt3);
- this.groupBox1.Location = new System.Drawing.Point(0, 64);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(632, 144);
- this.groupBox1.TabIndex = 0;
- this.groupBox1.TabStop = false;
- this.groupBox1.Text = "选择课程";
- //
- // label1
- //
- this.label1.Location = new System.Drawing.Point(280, 24);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(312, 88);
- this.label1.TabIndex = 0;
- this.label1.Text = "选择一门课,列出选该课的所有学生名单,教师对各个学生的成绩输入,并保存,最终提交之前还可以修改。最终提交是指老师提交该门课所有学生的最终成绩,提交后的成绩不可修改" +
- ",课程拼音和名称是模糊查询,课程编号必须输入准确,实际中由教师登录时的名称查询得到,不必手工输入";
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.btnEndElect);
- this.groupBox2.Location = new System.Drawing.Point(0, 0);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(632, 64);
- this.groupBox2.TabIndex = 1;
- this.groupBox2.TabStop = false;
- this.groupBox2.Text = "结束选课,生成空成绩单";
- //
- // groupBox3
- //
- this.groupBox3.Controls.Add(this.txt4);
- this.groupBox3.Controls.Add(this.dataGrid1);
- this.groupBox3.Controls.Add(this.btnModify);
- this.groupBox3.Location = new System.Drawing.Point(0, 216);
- this.groupBox3.Name = "groupBox3";
- this.groupBox3.Size = new System.Drawing.Size(632, 296);
- this.groupBox3.TabIndex = 2;
- this.groupBox3.TabStop = false;
- this.groupBox3.Text = "课程成绩输入";
- //
- // dataGrid1
- //
- this.dataGrid1.CaptionVisible = false;
- this.dataGrid1.DataMember = "";
- this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
- this.dataGrid1.Location = new System.Drawing.Point(8, 16);
- this.dataGrid1.Name = "dataGrid1";
- this.dataGrid1.ReadOnly = true;
- this.dataGrid1.Size = new System.Drawing.Size(512, 272);
- this.dataGrid1.TabIndex = 0;
- //
- // btnEndElect
- //
- this.btnEndElect.Image = ((System.Drawing.Image)(resources.GetObject("btnEndElect.Image")));
- this.btnEndElect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.btnEndElect.Location = new System.Drawing.Point(216, 16);
- this.btnEndElect.Name = "btnEndElect";
- this.btnEndElect.Size = new System.Drawing.Size(120, 40);
- this.btnEndElect.TabIndex = 0;
- this.btnEndElect.Text = "结束选课";
- this.btnEndElect.Click += new System.EventHandler(this.btnEndElect_Click);
- //
- // btnQuery
- //
- this.btnQuery.Image = ((System.Drawing.Image)(resources.GetObject("btnQuery.Image")));
- this.btnQuery.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.btnQuery.Location = new System.Drawing.Point(24, 112);
- this.btnQuery.Name = "btnQuery";
- this.btnQuery.Size = new System.Drawing.Size(104, 23);
- this.btnQuery.TabIndex = 1;
- this.btnQuery.Text = "查询";
- this.btnQuery.Click += new System.EventHandler(this.btnQuery_Click);
- //
- // btnSubmit
- //
- this.btnSubmit.Image = ((System.Drawing.Image)(resources.GetObject("btnSubmit.Image")));
- this.btnSubmit.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.btnSubmit.Location = new System.Drawing.Point(152, 112);
- this.btnSubmit.Name = "btnSubmit";
- this.btnSubmit.Size = new System.Drawing.Size(96, 23);
- this.btnSubmit.TabIndex = 2;
- this.btnSubmit.Text = "最终提交";
- this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click);
- //
- // txt1
- //
- this.txt1.Location = new System.Drawing.Point(112, 22);
- this.txt1.Name = "txt1";
- this.txt1.TabIndex = 3;
- this.txt1.Text = "";
- //
- // label2
- //
- this.label2.Location = new System.Drawing.Point(56, 26);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(56, 16);
- this.label2.TabIndex = 4;
- this.label2.Text = "课程拼音";
- //
- // label3
- //
- this.label3.Location = new System.Drawing.Point(56, 52);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(56, 16);
- this.label3.TabIndex = 4;
- this.label3.Text = "课程编号";
- //
- // txt2
- //
- this.txt2.Location = new System.Drawing.Point(112, 48);
- this.txt2.Name = "txt2";
- this.txt2.TabIndex = 3;
- this.txt2.Text = "";
- //
- // label4
- //
- this.label4.Location = new System.Drawing.Point(56, 78);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(56, 16);
- this.label4.TabIndex = 4;
- this.label4.Text = "课程名称";
- //
- // txt3
- //
- this.txt3.Location = new System.Drawing.Point(112, 74);
- this.txt3.Name = "txt3";
- this.txt3.TabIndex = 3;
- this.txt3.Text = "";
- //
- // btnModify
- //
- this.btnModify.Image = ((System.Drawing.Image)(resources.GetObject("btnModify.Image")));
- this.btnModify.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.btnModify.Location = new System.Drawing.Point(528, 104);
- this.btnModify.Name = "btnModify";
- this.btnModify.Size = new System.Drawing.Size(96, 23);
- this.btnModify.TabIndex = 2;
- this.btnModify.Text = "修改成绩";
- this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
- //
- // txt4
- //
- this.txt4.Location = new System.Drawing.Point(528, 64);
- this.txt4.Name = "txt4";
- this.txt4.TabIndex = 3;
- this.txt4.Text = "";
- this.txt4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt4_KeyPress);
- //
- // ScoreInput
- //
- this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
- this.ClientSize = new System.Drawing.Size(632, 517);
- this.Controls.Add(this.groupBox3);
- this.Controls.Add(this.groupBox2);
- this.Controls.Add(this.groupBox1);
- this.Name = "ScoreInput";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "【成绩输入】";
- this.Load += new System.EventHandler(this.ScoreInput_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.groupBox3.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
- this.ResumeLayout(false);
- }
- #endregion
- //-------------绑定dataGrid显示成绩表数据----------
- private void ScoreInput_Load(object sender, System.EventArgs e)
- {
- //绑定数据表显示
- dataGrid1.DataSource=this.scoreTable;
- }
- //---------调用储存过程,结束选课并生成新的空成绩单---------
- private void btnEndElect_Click(object sender, System.EventArgs e)
- {
- string conStr="workstation id=localhost;Integrated Security=SSPI;Database=eisbook";
- SqlConnection cn=new SqlConnection(conStr);
- cn.Open();
- SqlCommand cmd=cn.CreateCommand();
- cmd.CommandText="exec sf_终止选课";
- try
- {
- cmd.ExecuteNonQuery();
- MessageBox.Show("终止选课成功,将生成新的空成绩单","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
- }
- catch(Exception express)
- {
- MessageBox.Show(express.ToString(),"操作失败",MessageBoxButtons.OK,MessageBoxIcon.Information);
- }
- }
- //------------根据输入查询某门课程,并将选该课的学生成绩列于表中---------
- private void btnQuery_Click(object sender, System.EventArgs e)
- {
- string sql="select a.编号,a.课程编号,b.课程名称,a.学号,c.姓名,a.成绩 from 成绩表 a,课程信息 b,学生信息 c "
- +"where(a.课程编号=b.课程编号)and(a.学号=c.学号)and(a.是否已确定成绩='N')"
- +"and(a.课程编号 like '%"+txt2.Text.Trim()+"%')and(b.拼音码 like '%"+txt1.Text.Trim()
- +"%')and(b.课程名称 like '%"+txt3.Text.Trim()+"%')";
- string conStr="workstation id=localhost;Integrated Security=SSPI;Database=eisbook";
- SqlConnection cn=new SqlConnection(conStr);
- cn.Open();
- da=new SqlDataAdapter(sql,cn);
- this.scoreTable.Clear();//清空表格,重新填充数据
- da.Fill(this.scoreTable);
- if(scoreTable.Rows.Count>0)//表格不为空时,开始允许设置学生成绩
- {
- //保存该课程的课程编号,用来为最终提交成绩的储存过程提供参数
- this.courseID=this.scoreTable.Rows[0][1].ToString().Trim();
- }
- else
- {
- string msg="该表中没有数据,可能原因有:n"+"1.本学期没有该门课程n"+"2.该课程无学生选课n"
- +"3.该课程所有学生成绩已经被最终提交,不可再修改";
- MessageBox.Show(msg,"操作失败",MessageBoxButtons.OK,MessageBoxIcon.Information);
- return;
- }
- txt4.DataBindings.Clear();
- //绑定成绩显示
- txt4.DataBindings.Add("Text",this.scoreTable,"成绩");
- }
- //--------------修改表中学生的成绩--------------
- private void btnModify_Click(object sender, System.EventArgs e)
- {
- if(this.scoreTable.Rows.Count==0)//检查成绩单中是否有学生名单
- {
- MessageBox.Show("该门课程成绩单为空","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
- return;
- }
- if(txt4.Text.Trim()=="")//检查成绩字段
- {
- MessageBox.Show("必须输入学生成绩","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
- return;
- }
- //更新学生成绩
- string conStr="workstation id=localhost;Integrated Security=SSPI;Database=eisbook";
- SqlConnection cn=new SqlConnection(conStr);
- cn.Open();
- SqlCommand cmd=cn.CreateCommand();
- string studentNum=dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString().Trim();
- cmd.CommandText="update 成绩表 set 成绩='"+txt4.Text.Trim()+"' where 编号='"+studentNum+"'";
- cmd.ExecuteNonQuery();
- //更新表中的显示
- this.scoreTable.Clear();
- da.Fill(this.scoreTable);
- }
- //------------在【成绩】文本框中只允许输入数字和小数点------------
- private void txt4_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
- {
- if(!((e.KeyChar<='9'&&e.KeyChar>='0')||e.KeyChar=='.'||e.KeyChar==8))//如果按下键不是数字或者小数点或者删除键,则不响应
- e.Handled=true;
- }
- //------------最终提交成绩------------
- private void btnSubmit_Click(object sender, System.EventArgs e)
- {
- string conStr="workstation id=localhost;Integrated Security=SSPI;Database=eisbook";
- SqlConnection cn=new SqlConnection(conStr);
- cn.Open();
- SqlCommand cmd=cn.CreateCommand();
- cmd.CommandText="exec sf_成绩提交 "+this.courseID;
- DialogResult result;
- result=MessageBox.Show("最终提交后学生成绩即不可修改,是否确定提交","提交成绩",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
- if(result==DialogResult.OK)
- {
- try
- {
- cmd.ExecuteNonQuery();
- MessageBox.Show("成绩最终提交成功","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
- }
- catch(Exception express)
- {
- MessageBox.Show(express.ToString(),"操作失败",MessageBoxButtons.OK,MessageBoxIcon.Information);
- }
- //更新表中的显示
- this.scoreTable.Clear();
- da.Fill(this.scoreTable);
- }
- }
- }
- }