XXX 学生管理信息系统的设计与实现 第1页 共30页
1引言
1.1课题设计背景
随着学校的规不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
1.2课程设计目的
学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用[1]。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: 1.系统应具有实用性、可靠性和适用性,同时注意到先进性。
XXX 学生管理信息系统的设计与实现 第2页 共30页
2.对各个数据库进行动态管理,防止混乱。 3.能够按照用户选择的不同的条件进行简单查询和复合查询。 4.能够对查询结果进行分类汇总,实现报表打印。 5.注意数据的安全性,具有数据备份和恢复的功能。 6.方便用户的操作,尽量减少用户的操作。
1.3课程设计内容
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学生管理信息系统。本课程设计主要解决与学生信息管理相关的问题,设计一个功能齐全的学生管理信息系统。同时实现学生档案信息的添加、删除、修改和查询;学生学籍的管理;学生选课及课程的添加、修改、删除;学生成绩的录入和对学生成绩的分析等主要功能[2]。
其功能主要有:
1、 对学校院系、班级和学期的管理,其中包括院系、班级、学期信息的添加、删除和修改等相关操作。还要求进行显示相关信息。
2、 对学生入学后的信息添加、查询和修改,同时需要对学生身份进行注册。 3、 对离校学生的信息进行保留存档,并注明留校信息。以便以后多资料进行查阅。 4、 对学校课程信息的添加、删除和修改。及时的增加删减课程信息,方便安排学生所要学习的课程和学校进行统一管理。
5、 对不同班级的课程安排,需要包括对不同班级安排课程的相关操作。
6、 对学生课程成绩的存档,便于日后老师对不同学生的学习进行分析,找出学生的不足之处,提高学生的学习能力。
7、 需要对班级之间成绩的评比,分析班级与班级之间的差距,并缩小差距。
XXX 学生管理信息系统的设计与实现 第3页 共30页
2系统结构分析
2.1 需求分析
目前随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,需要学校统一管理的数据也越来越多,管理的难度大大增加。面对大量的数据,学校管理者要做的工作实在是太繁杂,因此设计一个学生信息管理系统的必要性显而易见。管理者需要对学生信息进行规范管理、科学统计和快速查询、修改、增加、删除等操作,从而减少管理方面的工作量。本系统可以满足学校管理者的需求,解决大部分学校在学生信息管理上所面临的难题。
经过综合分析,确定该系统包括以下功能: 1、 基础资料管理
基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。
添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、 学生信息管理
学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、 课程信息管理
课程信息管理包括对课程设置和班级选课的管理。该模块可实现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、 成绩信息管理
成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。
XXX 学生管理信息系统的设计与实现 第4页 共30页
2.2 功能模块图
该系统主要包括四个模块基础信息模块、学生管理信息模块、课程管理信息模块和成绩管理信息模块。基础信息管理模块主要是对学校院系、班级和学期的管理,其中包括院系、班级、学期信息的添加、删除和修改等相关操作。学生管理信息模块主要是对学生入学后的信息添加、查询和修改,同时需要对学生身份进行注册;对离校学生的信息进行保留存档,并注明留校信息,以便以后多资料进行查阅。课程管理信息模块主要是对学校课程信息的添加、删除和修改。及时的增加删减课程信息,方便安排学生所要学习的课程和学校进行统一管理。对不同班级的课程安排进行操作。成绩管理信息模块主要是对学生课程成绩的存档,便于日后老师对不同学生的学习进行分析,找出学生的不足之处,提高学生的学习能力;对班级之间成绩的分析,老师查看找到差距所在,采取相应措施缩小差距。
1、根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。
图2.1 学生信息管理系统结构功能分析图
2、基础信息管理模块中包括院系管理子模块、班级管理子模块和学期管理子模块,其功能如下图2.2所示。
XXX 学生管理信息系统的设计与实现 第5页 共30页
图2.2 基础信息管理模块功能图
3、学生管理信息模块中包含学生档案管理和学籍信息管理,其功能如下图2.3所示。
图2.3 学生管理信息模块功能图
4、课程管理信息模块中包含课程设置管理和班级选课管理,其功能如下图2.4所示。
图2.4 课程管理信息模块功能图
5、成绩管理信息模块中包含成绩录入管理和成绩分析管理,其功能如下图2.5所示。
XXX 学生管理信息系统的设计与实现 第6页 共30页
图2.5 成绩管理信息模块功能图
3数据库设计
3.1 概念结构设计
根据需求分析抽象出信息结构,可得该系统的E-R图。 1、实体名:院系
属 性:院系代码 院系名称 联系电话 院系实体E-R图如下图3.1所示。
XXX 学生管理信息系统的设计与实现 第7页 共30页
图3.1 院系E-R图
2、实体名:班级
属 性:班级代码 班级名称 所属院系 学生人数 班级实体E-R图如下图3.2所示。
图3.2 班级E-R图
3、实体名:学生
属 性:学号 姓名 性别 年龄 民族 籍贯 入学时间 政治身份 学生实体E-R图如下图3.3所示。
图3.3 学生E-R图
4、实体名:课程
属 性:课程代码 课程名称 学分 院系名称 课程实体E-R图如下图3.4所示。
XXX 学生管理信息系统的设计与实现 第8页 共30页
图3.4 课程E-R图
5、实体名:选课
属 性:院系名称 班级名称 学期名称 课程名称 选课数 6、实体名:学期
属 性:学期代码 学期名称 7、实体名:成绩
属 性:班级名称 学号 课程名 成绩 8、实体名:学生调动
属 性:调动编号 调动时间 学号 原院系 现院系 原班级 现班级 调动时间 9、实体名:学生离校
属 性:离校编号 学号 院系 班级 离校种类 离校时间
3.2逻辑结构设计
根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。
学生信息管理数据库包含以下9个表:学期信息表 Semester 、班级信息表Class、院系信息表Department、课程信息表Course、选课信息表SelectClass、成绩信息表Score、学生信息基本信息表Student、学生调动信息表StudentMove和学生离校信息表StudentLeave。以下列出了班级信息表、课程信息表、成绩信息表和学生基本信息表的基本情况,其他表的基本定义情况类似。
1、班级信息表
表3-1 班级信息表
列名 班级编号 班级名称 所属院系 学生人数 数据类型 char varchar varchar smallint 长度 5 50 50 2 备注 主键 无 无 无
XXX 学生管理信息系统的设计与实现 第9页 共30页
2、课程信息表
表3-2 课程信息表
列名 课程代码 课程名称 学 分 所属院系
3、成绩信息表
表3-3 成绩信息表
列 名 班级名称 学生学号 课程名称 学 分
4、学生基本信息表
表3-4 学生基本信息表
列名 学号 姓名 班级 院系 性别 年龄 照片 籍贯 民族 政治身份 入学时间 数据类型 char char varchar varchar char smallint varchar varchar varchar smalldatetime varchar 长度 10 10 50 50 2 2 10 50 20 4 50 备注 主键 无 无 无 无 无 无 无 无 无 无 数据类型 varchar char varchar smallint 长度 20 6 50 2 备注 无 主键 主键 无
数据类型 char varchar tinyint varchar 长度 10 50 1 50 备注 主键 无 无 无
3.3据表创
数库的建
在设计数据库表结构之前,首先要创建一个学生管理数据库。本系统是在SQL Server 2000的数据库平台上创建的。按照以上表的字段和长度、数据类型等设计表格。然后在表格中添加元组,最后结果如图3.5至图3.9所示。
XXX 学生管理信息系统的设计与实现 第10页 共30页
图3.5 院系信息表
图3.6 班级信息表
图3.7 选课信息表
XXX 学生管理信息系统的设计与实现 第11页 共30页
图3.8 课程信息表
图3.9 成绩信息表
4系统实现
4.1 系统功能模块设计
主界面可以用来选择是对基础资料、学生管理、课程管理和成绩管理中哪个来进行操作,或者是退出该系统。主界面的控件设置和说明表4-1所示[3]。
控件ID号 IDC_btnExit IDC_button1 IDC_button2 表4-1 主界面控件设置及其说明 说明 “退出”按钮 “院系”按钮 “学期”按钮 XXX 学生管理信息系统的设计与实现 第12页 共30页 IDC_button3 IDC_button4 IDC_button5 IDC_button7 IDC_button8 IDC_button9 IDC_button10 IDC_pictureBox1 IDC_tabControl1 IDC_tabPage1 IDC_tabPage2 IDC_tabPage3 IDC_tabPage4 主界面中各控件的实现根据可得[4]。 “院系”按钮的实现部分代码如下:
“班级”按钮 “学生档案”按钮 “课程设置”按钮 “班级选课”按钮 “成绩录入”按钮 “成绩分析”按钮 “学籍管理”按钮 主界面背景图案控件 菜单栏 基础资料模块界面 学生管理模块界面 成绩管理模块界面 课程管理模块界面 private void button1_Click(object sender, System.EventArgs e)
{ }
Form FormDep=new Department(); FormDep.Show()
“学期”按钮的实现部分代码如下:
private void button2_Click(object sender, System.EventArgs e)
{ }
“退出”按钮的实现部分代码如下:
private void button6_Click(object sender, System.EventArgs e)
{ }
控件设置如下图4.1所示。
Application.Exit();
Form FormDep=new Semester(); FormDep.Show();
XXX 学生管理信息系统的设计与实现 第13页 共30页
图4.1 主界面的控件设置
4.2基础资料模块设计
基础资料模块中包含班级、院系和学期的管理操作。以下是对班级进行管理操作的对话框控件设置和说明的情况。如下表4-2所示。
表4-2 班级管理对话框控件设置及其说明 控件ID号 说明 IDC_label1 表示“班级代码”静态文本框 IDC_label2 表示“班级名称”静态文本框 IDC_label3 表示“学生人数”静态文本框 IDC_label4 表示“院系名称”静态文本框 IDC_groupBox1 组框一 IDC_groupBox2 组框二 IDC_btnAdd “添加”按钮 IDC_btnModify “修改”按钮 IDC_btnDelete “删除”按钮 IDC_btnCancel “取消”按钮 XXX 学生管理信息系统的设计与实现 第14页 共30页 IDC_btnCancelAll IDC_btnApply IDC_btnExit IDC_dataGrid1 IDC_textClaID IDC_textClaName IDC_textStuNum IDC_comboDep “全部取消”按钮 “确定”按钮 “退出”按钮 显示数据框 班级代码编辑框 班级名称编辑框 学生人数编辑框 院系名称下拉列表框 基础资料模块用户界面中各控件的实现[5][6]。 “删除”按钮的实现代码如下:
private void btnDelete_Click(object sender, System.EventArgs e) {//删除记录
if((this.BindingContext[this.DataSetDep,\"Department\"].Count>0)&
(MessageBox.Show(\"真的要删除此记录吗\确定删除
\{
int position=this.BindingContext[this.DataSetDep,\"Department\"].Position; this.BindingContext[this.DataSetDep,\"Department\"].RemoveAt(position); } else
return; try
{//当前记录的编辑
this.BindingContext[this.DataSetDep,\"Department\"].EndCurrentEdit();
if(this.conn1.State==ConnectionState.Closed) this.conn1.Open();
SqlCommandBuilder commandbuilder1=new SqlCommandBuilder(this.sqlDataAdapter1); this.sqlDataAdapter1.Update(this.DataSetDep,\"Department\"); this.DataSetDep.AcceptChanges(); this.dataGrid1.Refresh(); }
catch(Exception E) {
XXX 学生管理信息系统的设计与实现 第15页 共30页
}
this.ErrorHandle(E);
finally {
this.conn1.Close(); this.Buttons_Control(false); } }
“确定”按钮的实现代码如下:
private void btnApply_Click(object sender, System.EventArgs e) {//确定按钮实现当前编辑记录的添加
try {
this.BindingContext[this.DataSetDep,\"Department\"].EndCurrentEdit();
if(this.conn1.State==ConnectionState.Closed)
this.conn1.Open();
SqlCommandBuilder commandbuilder1=new SqlCommandBuilder(this.sqlDataAdapter1);
}
catch(Exception E) {
this.ErrorHandle(E); } finally { }
this.conn1.Close(); this.Buttons_Control(false);
this.sqlDataAdapter1.Update(this.DataSetDep,\"Department\"); this.DataSetDep.AcceptChanges(); this.dataGrid1.Refresh();
XXX 学生管理信息系统的设计与实现 第16页 共30页
}
控件设置如下图4.2所示。
图4.2 院系管理界面控件设置
4.3 课程管理模块设计
课程管理模块设计包含对课程设置及班级选课进行管理操作。以下表4-3表4-4分别为课程设置对话框和班级选课对话框的控件设置和说明。
表4-3 课程设置对话框控件设置及其说明
控件ID号 IDC_label1 IDC_label2 IDC_label3 IDC_label4 IDC_groupBox1 IDC_groupBox2 IDC_btnAdd IDC_btnModify IDC_btnDelete IDC_btnCancel 说明 表示“课程代码”静态文本框 表示“课程名称”静态文本框 表示“院系名称”静态文本框 表示“学 分”静态文本框 组合框一 组合框二 “添加”按钮 “修改”按钮 “删除”按钮 “取消”按钮 XXX 学生管理信息系统的设计与实现 第17页 共30页 IDC_btnApply IDC_btnExit IDC_dataGrid1 IDC_textClaID IDC_textClaName IDC _textStuNum IDC_comboDep “确定”按钮 “退出”按钮 显示数据框 课程代码编辑框 课程名称编辑框 学分编辑框 院系名称下拉列表框 课程管理模块课程设置用户界面中各控件的实现[7]。 “添加”按钮实现代码如下:
private void btnAdd_Click(object sender, System.EventArgs e)
{ }
this.Buttons_Control(true);
this.BindingContext[this.DataSetDep,\"Course\"].AddNew();
“取消”按钮实现代码如下:
private void btnCancel_Click_1(object sender, System.EventArgs e)
{//取消按钮取消当前记录的编辑 }
控件设置如下图4.3所示。
try { }
catch(System.Exception E) { }
this.Buttons_Control(false);
this.ErrorHandle(E);
this.BindingContext[this.DataSetDep,\"Course\"].CancelCurrentEdit();
XXX 学生管理信息系统的设计与实现 第18页 共30页
图4.3 课程设置界面控件设置 表4-4 班级选课对话框控件设置及其说明
控件ID号 IDC_label1 IDC_label2 IDC_label3 IDC_label4 IDC_comboDepartment IDC_comboClass IDC_comboSemester IDC_comboCourse IDC_btnOk IDC_button1 IDC_btnApply IDC_btnExit IDC_dataGrid1 IDC_groupBox1 说明 表示“课程”静态文本框 表示“学期”静态文本框 表示“班级”静态文本框 表示“院系”静态文本框 院系下拉列表框 班级下拉列表框 学期下拉列表框 课程下拉列表框 “确定”院系、班级、学期按钮 “确定”课程按钮 “提交”按钮 “退出”按钮 显示数据框 组合框一 课程管理模块班级选课用户界面中各控件的实现根据参考文献[2][4][5][6]可得。 “确定”按钮实现代码如下:
private void btnOk_Click(object sender, System.EventArgs e) {
XXX 学生管理信息系统的设计与实现 第19页 共30页
if(this.comboDepartment.Text==\"\"|this.comboSemester.Text==\"\"|this.comboClass.T
ext==\"\")
{
MessageBox.Show(\"院系、班级和学期不能为空\"); return;//必选选择院系,班级和学期 }
this.department=this.comboDepartment.Text; this.classname=this.comboClass.Text; this.semester=this.comboSemester.Text; //用类属性记录院系、班级和学期
this.selectStr=\"select * from SelectCourse where Department=\"+\"'\"+department+\"'\";
this.selectStr+=\" and Class=\"+\"'\"+this.classname+\"'\"; this.selectStr+=\" and Semester=\"+\"'\"+this.semester+\"'\";
this.sqlDataAdapter1=new SqlDataAdapter(this.selectStr,this.conn1); this.DataSetDep.Clear();
this.sqlDataAdapter1.Fill(this.DataSetDep,\"SelectCourse\"); //填充数据集 this.ListBox_Fill();
//显示此班级此学期已经选择的课程 this.btnAdd.Enabled=true; this.btnDelete.Enabled=true; this.btnApply.Enabled=true; }
“删除”按钮实现代码如下:
private void btnDelete_Click(object sender, System.EventArgs e) {//删除记录
for(int i=0;i XXX 学生管理信息系统的设计与实现 第20页 共30页 { this.DataSetDep.Tables[0].Rows[i].Delete();//从数据集中删除记录 this.listBox2.Items.RemoveAt(this.listBox2.SelectedIndex);//从ListBox2中删除记录 return; } } 控件设置如下图4.4所示。 } 图4.4 班级选课界面控件设置 5功能测试 该程序实现了学生信息管理系统应有的功能,即基本资料功能、学生管理功能、课 XXX 学生管理信息系统的设计与实现 第21页 共30页 程管理功能和成绩管理功能。 5.1基础资料功能模块 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 在院系管理界面中添加院系代码为“DEF”,院系名称为“交通运输”,电话号码为“63790976”操作。 图5.1 院系管理中添加元组操作 在院系管理中删除院系代码为ABC的元组。 图5.2院系管理中删除元组操作 5.2学生管理功能模块 添加、修改、查询和显示学生的基本信息、所属班级和院系。 XXX 学生管理信息系统的设计与实现 第22页 共30页 记录学生学籍、学生离校信息和学生调动信息。 查询院系名称为“土木工程”,班级名称为“土木08级1班”的班级同学记录 图5.3 学生管理的查询元组操作 添加学生(“021234”,“熊婷”,“女”,“20”,“2010/10/25”) 图5.4 学生管理中添加元组操作 5.3课程管理功能模块 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 XXX 学生管理信息系统的设计与实现 第23页 共30页 添加、删除和提交班级所选课程。 为院系名称为土木工程,班级土木08级1班2009-2010学年第二学期选微积分(下)、线性代数(下)、大学物理-力学三门课。 图5.5 班级选课的选课操作 5.4成绩管理功能模块 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 现在将院系名称为土木工程,班级为土木08级1班,2008-2009学年第一学期,大学物理—力学的成绩录入。测试结果如下图5.6所示。 XXX 学生管理信息系统的设计与实现 第24页 共30页 图5.6 成绩录入的基本操作 XXX 学生管理信息系统的设计与实现 第25页 共30页 结束语 在程序的编写过程中,我充分体会了编程工作者的辛苦,因为没一个细微的细节都必须十分的注意。如果稍有不慎,就会全盘皆“输”。而且往往很多时候,程序我自己觉得非常正确,但是就是便以通不过,在查找错误的过程中,面临着否认自己的过程,非常的难受。同时由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往一天下来什么都没做成功。这个过程曾给我沉重打击,不过当看到程序没错误能执行出来时,心中的喜悦难以用言语来表达。 在开始编写程序的时候,我看到别人的程序功能非常的详细,而且界面非常的漂亮,总希望自己的程序也多一些功能更加的完善。但是渐渐的我发现编写一个优秀的程序决不是一蹴而就的事情,需要长时间的积累和经验,而这个方面又是我的弱项。因此在同学的帮助下,我认识到自己的不足和劣势,不要贪图大而全,只要尽我所能,编制一个实用简单的程序也是一件很不容易的事情。 在同学的帮助和自己的努力之下,我终于做出了一个简单的程序。虽然程序的功能简单,而且我想在实际的运用中,肯定会有所不足。因为学生信息管理系统工作的内容非常的丰富,我涉及到的仅仅是学生信息管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。但是它毕竟代表着我对这段时间所学的知识的掌握。 由于我的知识浅薄,经验不足及阅历破浅,因此在该程序的设计方面还有很多不足,比如功能过少,只是简单的实现了数据的添加,对数据的删除和查询等操作均为实现,因此需要今后更加深入的学习和努力。 XXX 学生管理信息系统的设计与实现 第26页 共30页 致 谢 在这次管理信息系统的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。在此,我衷心感谢我的指导老师——王艳华。王艳华老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。另外,还要感谢学校和同学对我们的关怀、帮助,为我们提供了良好的设计环境以及各方面的支持。 XXX 学生管理信息系统的设计与实现 第27页 共30页 参考文献 [1] 萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2009. [2] 王珊.数据库系统简明教程[M].北京:高等教育出版社,2010. [3] 郑阿奇,丁有和. Visual C++教程[M].北京:机械工业出版社,2010. [4] 刘甫迎,刘光会.C#程序设计教程(第2版)[M].北京:电子工业出版社,2011. [5] 严蔚敏. 数据结构(C++版)[M].北京:清华大学出版社,2011. [6] 谭浩强.C++程序设计[M].北京:清华大学出版社,2010. [7] 周霭如,林伟健.C++程序设计基础(第2版)[M].北京:电子工业出版社,2010. XXX 学生管理信息系统的设计与实现 第28页 共30页 附录 部分源代码如下: 数据库的连接实现代码如下: using System; namespace StudentManage.DataLevel { public class Connection { public static string ConnString { get{return\"data source=localhost;initial catalog=StudentManage;integrated security=SSPI;\"; } } } } //删除按钮的实现代码 private void btnDelete_Click(object sender, System.EventArgs e) {//删除记录 if((this.BindingContext[this.DataSetDep,\"Class\"].Count>0)&(MessageBox.Show(\"真的要删除此记录吗\确定删除 \) } //修改按钮的实现代码 private void btnModify_Click(object sender, System.EventArgs e) {//修改记录 this.Buttons_Control(true); { } else return; int position=this.BindingContext[this.DataSetDep,\"Class\"].Position; this.BindingContext[this.DataSetDep,\"Class\"].RemoveAt(position); XXX 学生管理信息系统的设计与实现 第29页 共30页 private void Combo_Fill() { } //删除全部按钮的实现代码 try { if(this.conn1.State==ConnectionState.Closed)this.conn1.Open(); this.commandStr=\"select DepartmentName from Department\"; this.Command1.CommandText=this.commandStr; this.DataReader1=this.Command1.ExecuteReader(); while(this.DataReader1.Read()) { this.comboDep.Items.Add(this.DataReader1[\"DepartmentName\"].ToString()); } catch(Exception E) { } finally { } this.conn1.Close(); MessageBox.Show(E.ToString()); } this.conn1.Close(); private void CancelAll_Click(object sender, System.EventArgs e) {//删除全部记录 try {this.DataSetDep.RejectChanges();} catch(System.Exception E) { XXX 学生管理信息系统的设计与实现 第30页 共30页 } } } } this.ErrorHandle(E); this.Buttons_Control(false); private void btnOk_Click(object sender, System.EventArgs e) {if(this.comboDepartment.Text==\"\"|this.comboSemester.Text==\"\"|this.comboClass.Text==\"\") { MessageBox.Show(\"院系、班级和学期不能为空\"); return;//必选选择院系,班级和学期 } this.department=this.comboDepartment.Text; this.classname=this.comboClass.Text; this.semester=this.comboSemester.Text; //用类属性记录院系、班级和学期 this.selectStr=\"select * from SelectCourse where Department=\"+\"'\"+department+\"'\"; this.selectStr+=\" and Class=\"+\"'\"+this.classname+\"'\"; this.selectStr+=\" and Semester=\"+\"'\"+this.semester+\"'\"; this.sqlDataAdapter1=new SqlDataAdapter(this.selectStr,this.conn1); this.DataSetDep.Clear(); this.sqlDataAdapter1.Fill(this.DataSetDep,\"SelectCourse\"); //填充数据集 this.ListBox_Fill(); //显示此班级此学期已经选择的课程 this.btnAdd.Enabled=true; this.btnDelete.Enabled=true; this.btnApply.Enabled=true; } 因篇幅问题不能全部显示,请点此查看更多更全内容