《C#.NET程序设计》课程设计说明书-教师信息管理系统.doc_第1页
《C#.NET程序设计》课程设计说明书-教师信息管理系统.doc_第2页
《C#.NET程序设计》课程设计说明书-教师信息管理系统.doc_第3页
《C#.NET程序设计》课程设计说明书-教师信息管理系统.doc_第4页
《C#.NET程序设计》课程设计说明书-教师信息管理系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

、c#.net程序设计课程设计说明书设计题目: 教师信息管理系统 学院、系: 软件学院 专业班级: 软升本10-4 学生姓名: 某某 指导教师: 成 绩: 2011 年 7 月 12 日一、课程设计目的1)要求学生达到熟练掌握c#.net基本结构以及c#语言的基本知识和技能;2)掌握面向对象程序开发的基本思路和方法;3)掌握ado.net数据库开发基本知识;4)能够利用所学的基本知识和技能,进行简单数据库应用程序设计。二、课程设计任务与要求1. 基本要求:1)要求利用c#的编程思想以及组件开发原理来完成系统的设计;2)突出c#语言与其它语言不同点(即体现c#的高级功能,如属性概念、接口、事件、委托等);3)体现可视化编程基本思想,如系统带有菜单、工具栏、状态栏以及一些常用的高级控件。2. 创新要求:在基本要求达到后,可进行创新设计。三、需求分析本系统的设计主要具备以下功能:教师授课信息管理,即课程管理;教师个人信息管理;教师所属院系信息管理;教师月收入信息管理。开始的界面也很美观,同时也方便用户的使用,快捷,实用。这个设计中的每个模块都提供了以下四个功能:添加、修改,查询浏览以及删除,更清晰细致的展现了整个系统设计。四、概要设计1、模块功能:(1) 教师个人信息管理:添加:增加教师个人信息记录。浏览:对已有教师个人信息进行浏览。修改:对现有信息记录进行修改。删除:删除选中信息记录。(2) 课程信息管理:添加:增加课程信息记录。浏览:对已存在信息记录浏览。修改:修改已存在信息记录。删除:删除信息记录。(3) 院系类别信息管理:添加:增加院系类别信息记录。浏览:对已存在信息记录浏览。修改:修改已存在信息记录。删除:删除信息记录。(4) 教师工资管理:添加:增加教师月工资信息记录。浏览:对已存在信息记录浏览。修改:修改已存在信息记录。删除:删除信息记录。2、模块结构:3、数据库设计:授课信息tb_course字段类型描述kidknamekbeizhuint(自动编号)varchar(50)varchar(50)课程编号课程名称课程备注 教师信息表tb_teacher 字段类型描述tidtnamebidknametsextplacetleveltspecialtbusitbeizhuvarchar(50)varchar(50)intvarchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)教师编号教师姓名部门编号课程名称性别教师籍贯学历所学专业职称备注部门信息表tb_bumen 字段类型描述bidbnamebbeizhuint(自动编号) varchar(50)varchar(50)部门编号部门名称部门备注月收入tb_shouru 字段类型描述sidsmonthtidsncomesbeizhuint(自动编号)varchar(50)varchar(50)varchar(50)varchar(50)收入编号月份教师编号月收入备注4、文件夹设计: 五、详细设计注意:此部分应包括具体设计过程,如设计目的、设计思路,界面设计,代码实现(关键代码)等,但不需要粘贴所有程序代码。(此部分必须包含主界面及至少两个模块设计)。 此部分红颜色文字在报告中应删去1、系统运行主页面:主要代码:public partial class frommain : form public frommain() initializecomponent(); private void frommain_load(object sender, eventargs e) addkecheng frmaddkecheng; private void menuaddkecheng_click(object sender, eventargs e) if (frmaddkecheng = null | frmaddkecheng.isdisposed) frmaddkecheng = new addkecheng(); for (int x = 0; x this.mdichildren.length; x+) form tempchild = (form)this.mdichildrenx; tempchild.close(); frmaddkecheng.mdiparent = this; frmaddkecheng.show(); addyuanxi frmaddyuanxi; private void menuaddyuanxi_click(object sender, eventargs e) if (frmaddyuanxi = null | frmaddyuanxi.isdisposed) frmaddyuanxi = new addyuanxi(); for (int x = 0; x this.mdichildren.length; x+) form tempchild = (form)this.mdichildrenx; tempchild.close(); frmaddyuanxi.mdiparent = this; frmaddyuanxi.show(); 2、部门信息管理模块: 该模块主要实现用户对部门信息的添加、浏览、修改和删除操作。 运行结果如下图: 部分代码: addkecheng.cs页面:private void button1_click(object sender, eventargs e) if (txtkechengname.text.trim() = | txtkeshi.text.trim() = ) messagebox.show(请输入课程名称和课时!, 提示, 0); else using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open();try sqlcommand cmd = new sqlcommand(select * from tb_kecheng where cname= + txtkechengname.text.trim() + , con); if (cmd.executescalar() != null) messagebox.show(课程名重复,请重新输入!, 提示, 0); else string sql = insert into tb_kecheng(cname,ctime) values( + txtkechengname.text.trim() + , + txtkeshi.text.trim() + ); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(添加课程信息成功!, 提示, 0); txtkechengname.clear(); txtkeshi.clear(); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示,messageboxbuttons.okcancel,messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); browsekecheng.cs页面:private void browsekecheng_load(object sender, eventargs e) showinf(); private void showinf() using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try string sql = select cid as 编号,cname as 课程名称,ctime as 总课时 from tb_kecheng order by cid; sqldataadapter adp = new sqldataadapter(sql, con); dataset ds = new dataset(); ds.clear(); adp.fill(ds, kecheng); this.datagridview1.datasource = ds.tables0.defaultview; catch(exception ex) messagebox.show(错误: + ex.message , 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); updatekecheng frmupdatekecheng; private void btnupdate_click(object sender, eventargs e) if (this.datagridview1.currentcell != null) frmupdatekecheng = new updatekecheng(); frmupdatekecheng.tag = this.datagridview10,this.datagridview1.currentcell.rowindex.value.tostring().trim(); frmupdatekecheng.startposition = formstartposition.centerparent; frmupdatekecheng.showdialog(); if (frmupdatekecheng.dialogresult = dialogresult.ok) showinf(); private void btnexit_click(object sender, eventargs e) this.close(); private void btndelete_click(object sender, eventargs e) using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try if (this.datagridview1.currentcell != null) string sql = select cname from tb_kecheng where cid= + this.datagridview10, this.datagridview1.currentcell.rowindex.value.tostring().trim() + and cid not in (select distinct tb_kecheng.cid from tb_teacher inner join tb_kecheng on tb_teacher.cname=tb_kecheng.cname); sqlcommand cmd = new sqlcommand(sql, con); sqldatareader dr; dr = cmd.executereader(); if (!dr.read() messagebox.show(删除工种 + this.datagridview10, this.datagridview1.currentcell.rowindex.value.tostring().trim() + 失败,请先删除与此工种相关的员工!, 提示); dr.close(); else dr.close(); sql = delete from tb_kecheng where cid= + this.datagridview10, this.datagridview1.currentcell.rowindex.value.tostring().trim() + and cname not in (select distinct cname from tb_teacher);cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(删除工种 + this.datagridview10, this.datagridview1.currentcell.rowindex.value.tostring().trim() + 成功, 提示); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); showinf(); updatekecheng.cs页面:public partial class updatekecheng : form public updatekecheng() initializecomponent();private void updatekecheng_load(object sender, eventargs e) this.startposition = formstartposition.centerparent; this.lblid .text = this.tag.tostring().trim();private void btnexit_click(object sender, eventargs e) this.close(); public static string strconn = data source=(local);initial catalog=teacher;integrated security=true;private void tnok_click(object sender, eventargs e) if (this.txtkechengname .text.trim() = | this.txtzhuanyename .text.trim() = ) messagebox.show(请输入完整信息!, 提示, 0); else using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try sqlcommand cmd = new sqlcommand(select * from tb_kecheng where cname= + txtkechengname.text.trim() + and cid + this.tag.tostring().trim(), con); if (cmd.executescalar() != null) messagebox.show(课程名称发生重复,请重新输入!, 提示, 0); else string sql = update tb_kecheng set cname= + txtkechengname.text.trim() + ,ctime= + txtzhuanyename.text.trim() + where cid= + this.tag.tostring().trim(); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(课程信息修改成功!, 提示, 0); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose();3、教师个人信息管理模块: 该模块主要实现用户对教师个人信息进行操作,具体操作包括:添加、浏览、修改和删除操作。运行结果如下图: 部分代码: addjiaoshi.cs页面:private void btnok_click(object sender, eventargs e) if (this.txttid .text.trim() = | this.txttname .text.trim() = | this.cmbtsex .text.trim() = | this.txtplevel.text.trim() = |this.cmbcname .text.trim() = | this.cmbyuanxiid .text.trim() = ) messagebox.show(请填写完整的教师信息!, 提示, 0); elseusing (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try sqlcommand cmd = new sqlcommand(select * from tb_teacher where tid= + txttid.text.trim() + , con); if (cmd.executescalar() != null) messagebox.show(教师编号重复,请重新输入!, 提示, 0); else string sql1, sql2, sql; sql1 = insert into tb_teacher (tid,tname,tsex,tlevel,cname,yid; sql2 = values ( + txttid.text.tostring() + , + txttname.text.tostring() + , + cmbtsex.text.trim() + , + txtplevel.text.tostring() + , + cmbcname.text.trim() + , + cmbyuanxiid.selectedvalue.tostring(); sql = sql1 + ) + sql2 + ); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(教师信息添加成功, 提示, 0); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); browsejiaoshi.cs页面:private void showinf() using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try string sql = select tb_teacher.tid as 教师编号,tb_teacher.tname as 教师姓名,tb_teacher.tsex as 性别,tb_teacher.tlevel as 教师学历,tb_yuanxi.yname as 院系名称 from tb_teacher inner join tb_yuanxi on tb_teacher.yid = tb_yuanxi.yid where tb_yuanxi.yname= + this.cmbyuanxiid.text.tostring() + order by tid; sqldataadapter adp = new sqldataadapter(sql, con); dataset ds = new dataset(); ds.clear(); adp.fill(ds, person); if (ds.tables0.rows.count != 0) this.dgvteacherinfo.datasource = ds.tables0.defaultview; this.label2 .text = 共有 + ds.tables0.rows.count + 条查询结果; else this.label2 .text = 没有您所查找的教师信息; this.dgvteacherinfo .datasource = null; catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); private void button2_click(object sender, eventargs e) using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try if (this.dgvteacherinfo.currentcell != null) string sql = select * from tb_income where tid= + this.dgvteacherinfo0, this.dgvteacherinfo.currentcell.rowindex.value.tostring().trim() + ; sqlcommand cmd = new sqlcommand(sql, con); sqldatareader dr; dr = cmd.executereader(); if (dr.read() messagebox.show(删除教师 + this.dgvteacherinfo0, this.dgvteacherinfo.currentcell.rowindex.value.tostring().trim() + 失败,请先删除该教师的收入信息!, 提示); dr.close(); else dr.close(); sql = delete from tb_teacher where tid= + this.dgvteacherinfo0, this.dgvteacherinfo.currentcell.rowindex.value.tostring().trim() + ;cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(删除员工 + this.dgvteacherinfo0, this.dgvteacherinfo.currentcell.rowindex.value.tostring().trim() + 成功, 提示); else messagebox.show(没有指定的员工信息, 提示); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); showinf(); updatejiaoshi.cs页面:public partial class updatejiaoshi : form public static string strconn = data source=(local);initial catalog=teacher;integrated security=true; public updatejiaoshi() initializecomponent();private void btnok_click(object sender, eventargs e) using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try string sql = update tb_teacher set tid= + this.txttid .text.tostring() + ,tname= + this.txttname .text.tostring() + ,tsex= + this.cmbtsex .text.trim() + ,tlevel= + this.textbox5 . text.tostring() + ,cname= + this.cmbcname .text.trim() + ,yid= + this.cmbyuanxiid .selectedvalue.tostring(); sql = sql + where pid= + this.tag.tostring().trim() + ; sqlcommand cmd = new sqlcommand(sql, con); cmd.executenonquery(); messagebox.show(教师信息修改成功!, 提示, 0); catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose();private void updatejiaoshi_load(object sender, eventargs e) this.txttid.enabled = false; addteachernametocmbteachername(); addyuanxinametocmbyid(); private void addteachernametocmbteachername() using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try sqldataadapter adp = new sqldataadapter(select cname from tb_kecheng, con); dataset ds = new dataset(); adp.fill(ds, job); this.cmbcname .displaymember = cname; this.cmbcname.valuemember = cname; this.cmbcname.datasource = ds.tables0.defaultview; catch (exception ex) messagebox.show(错误: + ex.message, 错误提示, messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close();con.dispose(); private void addyuanxinametocmbyid() using (sqlconnection con = new sqlconnection(strconn) if (con.state = connectionstate.closed) con.open(); try sqldataadapter adp = new sqldataadapter(select yid,yname from tb_yuanxi, con); dataset ds = new dataset(); adp.fill(ds, depart); this.cmbyuanxiid .displaymember = yname; this.cmbyuanxiid.valuemember = yid; this.cmbyuanxiid.dataso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论