版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z?C*程序设计?课程设计报告〔20—20学年第学期〕题目:学生成绩信息管理系统专业:班级:****:指导教师:成绩:年月日目录摘要1第一章绪论21.1设计目的21.2开发工具选择21.3开发环境21.4本报告的主要内容2第二章需求分析32.1系统需求简介3系统目标3功能需求分析3性能需求分析3第三章总体设计43.1设计概述43.2系统总体构造及功能模块划分4学生信息查询模块4学生信息管理模块53.3系统数据库概念构造设计5系统E-R图5系统数据库的设计63.4平安**设计7用户登录平安性7第四章详细设计84.1概述84.2系统程序流程图84.3系统主要功能模块简介9系统登录9学生信息查询模块9学生信息管理模块10第五章主要功能模块代码125.1公共类代码设计125.2登录界面代码设计145.3查询模块代码设计155.4添加模块代码设计165.5更新模块代码设计175.6删除模块代码设计20第六章课程设计心得21第七章设计日志22-.zC*学生成绩管理系统摘要本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:学生信查询,学生信息管理,学生成绩录入,主要工具MicrosoftVisualStudio2010设计窗体,SQLserver2005建立数据库,实现学校信息管理的各个功能。本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的根本功能在本报告中都有相应的描述。1.1设计目的本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C*语言解决实际问题的能力。1.2开发工具选择本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在平安性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2008作为主要开发工具,可与SQLServer2005数据库无缝。1.3开发环境系统开发平台:MicrosoftVisualStudio2005系统开发语言:C*数据库管理软件:SQLServer20051.4本报告的主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。2.1系统需求简介根据查询条件实现学生信息的查询学生选课信息查询、成绩信息的查询学生信息、课程信息、成绩信息的增加、删除、修改对根本信息完成增加、删除、修改时,需注意表与表之间的关联本系统的功能需求分析如下:学生信息查询:学生可以根据**、**、专业进展查询.学生信息管理:主要是用于学生信息更新、插入、删除;学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;登录、用户界面需求:简洁、易懂、易用、友好的用户界面。平安**性需求:只有凭借用户名和密码登陆系统,才能进展信息的管理等。3.1设计概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;3.2系统总体构造及功能模块划分学生成绩录入学学生成绩录入学生信息管理学生信息管理系统学生信息查询学生信息查询**查询**查询学生信息查询:学生可以根据**、**、专业进展查询。如图学生信息查询**查询**查询根本信息录入成绩录入根本信息更新成绩更新学生信息删除学根本信息录入成绩录入根本信息更新成绩更新学生信息删除学生信息录入学生信息管理学生信息更新3.3系统数据库概念构造设计根据对数据项与数据构造的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑构造设计打下根底。系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。如图系统E-R图构造。课程表课程表成绩**课程号号成绩表选课学生表****生日系名总成绩备注性别学分学生人数开课时间课程名课程号考核综合以上分析,要实现上面的所有功能模块,主要设计表如下:3.4平安**设计系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进展操作。4.1概述详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的准确描述,从而在编码阶段可以把这个描述直接翻译成用*种程序设计语言书写的程序。4.2系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。它可将整个程序的总体流程清楚明白的显示出来。如图系统总流程图构造。4.3系统主要功能模块简介用户凭借用户名及密码登录,成功登录后可对学生信息进展操作。用户界面如图用户登录界面所示。学生信息查询:在程序主界面〔如图程序主界面〕学生可以根据**、**进展查询。学生也可以只用一种条件进展信息查询,也可以多个条件查询。双击记录任一单元格可显示学生的更详细信息〔如图4.3.3详细信息窗口〕。学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单〔如图上下文菜单〕可对当前选定学生信息进展详细信息查询〔如图4.3.3详细信息窗口〕、修改信息〔如图4.3.5修改信息窗口〕、删除信息〔如图4.3.6删除信息提示〕。更新时如果输入的**不存在,可选择是否添加学生信息。通过程序主界面的新建信息记录可添加学生信息〔如图4.3.7添加信息窗口〕。图修改信息窗口5.1公共类代码设计namespaceMySql{publicclassmySql{publicStringconnectionString="SERVER=.\SQLE*PRESS;AttachDbFilename=D:\学习\C*\课程设计\StuScoreManSystem\StuScoreManSystem\StuSanSys.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True;";publicStringmondTe*t;publicboolflag;//指示有条该条记录publicSystem.Data.DataViewtable;publicvoidrunSql()//执行查询、删除SQL语句{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlmandcmdQuery=newSqlmand(mondTe*t,connection);SqlDataAdaptersda=newSqlDataAdapter(mondTe*t,connection);DataSetds=newDataSet();sda.Fill(ds);if(mondTe*t.Inde*Of("SELECT")>=0){table=ds.Tables[0].DefaultView;}connection.Close();}}publicboolgetFlag()//判断是否有该条记录{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlmandcmdQuery=newSqlmand(mondTe*t,connection);SqlDataReaderreader=cmdQuery.E*ecuteReader();if(reader.Read())flag=true;elseflag=false;reader.Close();connection.Close();returnflag;}}publicStringgetContent(Stringrequire,StringSNO)//获取视图表的的指定单元格内容{try{mondTe*t="SELECT"+require+"FROMdetailWHERE**="+SNO;if(require=="up课程名称")mondTe*t="SELECT课程名称FROMdetailWHERE**="+SNO;if(require=="up成绩")mondTe*t="SELECT成绩FROMdetailWHERE**="+SNO;SqlDataAdaptersda=newSqlDataAdapter(mondTe*t,connectionString);DataSetds=newDataSet();sda.Fill(ds);Stringresult=";if(require=="课程名称"||require=="成绩"){inti=newint();for(i=0;i<ds.Tables[0].Rows.Count;i++){result=result+ds.Tables[0].Rows[i][require].ToString()+"\n";}}elseresult=ds.Tables[0].Rows[0][require].ToString().Trim();returnresult;}catch{return"无";}}publicvoidupdate(){//添加、更新语句try{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlmandcmdInsert=newSqlmand(mondTe*t,connection);cmdInsert.E*ecuteNonQuery();connection.Close();}}catch(E*ceptione*){MessageBo*.Show(e*.ToString(),"提示");}}}}5.2登录界面代码设计privatevoidlogin_Click(objectsender,EventArgse){//用户名及密码组合判断if(username.Te*t.ToString().Trim()!="&&password.Te*t.ToString().Trim()!="){mySqlsql=newmySql();sql.mondTe*t="SELECT*FROMuserdataWHEREUSERNAME='"+username.Te*t.ToString().Trim()+"'ANDPASSWORD='"+password.Te*t.ToString().Trim()+"'";try{booltemp=newbool();temp=sql.getFlag();if(temp){this.Visible=false;mainfacemain=newmainface(this);main.Show();}}catch(E*ceptione*){MessageBo*.Show(e*.ToString(),"提示");}}else{MessageBo*.Show("请输入用户名和密码","提示");}}5.3查询模块代码设计privatevoidbtQuery_Click(objectsender,EventArgse){mySqlquery=newmySql();if(sNInput.Te*t.Trim()=="&&sNoinput.Te*t.Trim()!=")query.mondTe*t="SELECTSNOAS**,SNAS**,MNAS专业名称,SE*AS性别,BIRDAYAS出生日期,TSAS总学分,AS备注FROMSWHERESNO="+sNoinput.Te*t.Trim()+";if(sNInput.Te*t.Trim()!="&&sNoinput.Te*t.Trim()==")query.mondTe*t="SELECTSNOAS**,SNAS**,MNAS专业名称,SE*AS性别,BIRDAYAS出生日期,TSAS总学分,AS备注FROMSWHERESN='"+sNInput.Te*t.Trim()+"'";if(sNInput.Te*t.Trim()!="&&sNoinput.Te*t.Trim()!=")query.mondTe*t="SELECTSNOAS**,SNAS**,MNAS专业名称,SE*AS性别,BIRDAYAS出生日期,TSAS总学分,AS备注FROMSWHERESN='"+sNInput.Te*t.Trim()+"'andSNO="+sNoinput.Te*t.Trim()+";if(sNInput.Te*t.Trim()=="&&sNoinput.Te*t.Trim()==")MessageBo*.Show("您输入的信息为空,请重新输入!","错误信息");else{if(query.getFlag()){query.runSql();dataGridView1.DataSource=query.table;}elseMessageBo*.Show("您查找的信息不存在","错误信息");}}5.4添加模块代码设计privatevoidaddbtOK_Click(objectsender,EventArgse){if(addStuNo.Te*t.Trim()!="&&addStuName.Te*t.Trim()!="&&addStuMajor.Te*t.Trim()!="){mySqlsql=newmySql();sql.mondTe*t="SELECTOFROMCWHERE='"+listmn.Te*t.ToString().Trim()+"'";sql.runSql();Stringtemp=sql.table.Table.Rows[0]["O"].ToString();Stringse*Temp=radioButton1.Checked?"男":"女";StringTemp;if(addStu.Te*t.ToString().Trim()==")Temp="";elseTemp=addStu.Te*t.ToString().Trim();StringbirTemp="";if(addStuBir.Te*t.ToString().Trim()==")Temp="";elsebirTemp=addStu.Te*t.ToString().Trim();sql.mondTe*t="INSERTINTOS(SNO,SN,MN,SE*,BIRDAY,)VALUES("+addStuNo.Te*t.ToString().Trim()+",'"+addStuName.Te*t.ToString().Trim()+"','"+addStuMajor.Te*t.ToString().Trim()+"','"+se*Temp+"','"+birTemp+"','"+Temp+"');";sql.update();if(score.Te*t.ToString().Trim()!="){sql.mondTe*t="INSERTINTOSC(SNO,O,SCORE)VALUES("+addStuNo.Te*t.ToString().Trim()+","+temp+","+score.Te*t.ToString().Trim()+");";sql.update();}this.Close();}else{MessageBo*.Show("**、**和专业名称都不可以为空!!!","错误!");}}privatevoidAddNew_Load(objectsender,EventArgse){//获取专业列表mySqlsql=newmySql();sql.mondTe*t="SELECTDISTINCTFROMC";SqlDataAdaptersda=newSqlDataAdapter(sql.mondTe*t,sql.connectionString);DataSetds=newDataSet();sda.Fill(ds);listmn.DataSource=ds.Tables[0].DefaultView;listmn.DisplayMember=";listmn.DisplayMember=listmn.DisplayMember.ToString().Trim();}5.5更新模块代码设计privatevoidupbtOK_Click(objectsender,EventArgse){mySqlsql=newmySql();sql.mondTe*t="SELECT**FROMdetailWHERE**="+upStuNo.Te*t.ToString().Trim();boolflagtemp=sql.getFlag();if(!flagtemp)//如果表中无该条记录,提示是否进展添加新记录操作{if(MessageBo*.Show("查无当前记录,无法进展更新操作!\n是否进展添加新记录的操作.","提示",MessageBo*Buttons.OKCancel)==DialogResult.OK){if(upStuNo.Te*t.Trim()!="&&upStuName.Te*t.Trim()!="&&upStuMajor.Te*t.Trim()!="){mySqlsqlme=newmySql();sqlme.mondTe*t="SELECTOFROMCWHERE='"+listmn.Te*t.ToString().Trim()+"'";sqlme.runSql();Stringtemp=sqlme.table.Table.Rows[0]["O"].ToString();//课程号Stringse*Temp=radioButton1.Checked?"男":"女";StringTemp;if(upStu.Te*t.ToString().Trim()==")Temp="";elseTemp=upStu.Te*t.ToString().Trim();StringbirTemp;if(upStuBir.Te*t.ToString().Trim()==")birTemp="";elsebirTemp=upStu.Te*t.ToString().Trim();sqlme.mondTe*t="INSERTINTOS(SNO,SN,MN,SE*,BIRDAY,)VALUES("+upStuNo.Te*t.ToString().Trim()+",'"+upStuName.Te*t.ToString().Trim()+"','"+upStuMajor.Te*t.ToString().Trim()+"','"+se*Temp+"','"+birTemp+"','"+Temp+"');";sqlme.update();if(upStuScore.Te*t.ToString().Trim()!="){sqlme.mondTe*t="INSERTINTOSC(SNO,O,SCORE)VALUES("+upStuNo.Te*t.ToString().Trim()+","+temp+","+upStuScore.Te*t.ToString().Trim()+");";sqlme.update();}this.Close();}else{MessageBo*.Show("**、**和专业名称都不可以为空!!!","错误!");}}}else{if(upStuNo.Te*t.Trim()!="&&upStuName.Te*t.Trim()!="&&upStuMajor.Te*t.Trim()!="){sql.mondTe*t="SELECTOFROMCWHERE='"+listmn.Te*t.ToString().Trim()+"'";sql.runSql();Stringtemp=sql.table.Table.Rows[0]["O"].ToString();//获取课程号Stringse*Temp=radioButton1.Checked?"男":"女";StringTemp;if(upStu.Te*t.ToString().Trim()==")Temp="";elseTemp=upStu.Te*t.ToString().Trim();StringbirTemp;if(upStuBir.Te*t.ToString().Trim()==")birTemp="";elsebirTemp=upStuBir.Te*t.ToString().Trim();sql.mondTe*t="UPDATESSETSN='"+upStuName.Te*t.ToString().Trim()+"',MN='"+upStuMajor.Te*t.ToString().Trim()+"',SE*='"+se*Temp+"',BIRDAY='"+upStuBir.Te*t.ToString().Trim()+"',='"+Temp+"'WHERESNO="+upStuNo.Te*t.ToString().Trim();sql.update();boolscFlag=newbool();if(upStuScore.Te*t.ToString().Trim()!="){try{mySqlscTemp=newmySql();scTemp.mondTe*t="SELECTOFROMCWHERE='"+listmn.Te*t.ToString().Trim()+"'";scTemp.runSql();Stringtemp=scTemp.table.Table.Rows[0]["O"].ToString();//获取课程号scTemp.mondTe*t="SELECTSNOFROMSCWHERESNO="+upStuNo.Te*t.ToString().Trim()+"ANDO="+temp;scFlag=scTemp.getFlag();if(scFlag){sql.mondTe*t="UPDATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技创新展示活动方案
- 短租平台租房合同示例
- 公路建设工程量清单编制方案
- 2024-2025学年河北省沧州市高三上学期10月质量检测物理试题及答案
- 环境卫生大扫除及灭蚊工作总结
- 猎头顾问招聘笔试题与参考答案(某大型国企)
- 从黏土型锂矿焙烧
- 产品助理招聘笔试题及解答2025年
- 期货分析师招聘笔试题及解答(某大型集团公司)2025年
- 中职生求职信
- DB32-T 4353-2022 房屋建筑和市政基础设施工程档案资料管理规程
- 设备部管理评审报告
- (中职)计算机应用基础第4章Word2010的使用课件
- 地下管线探测工程普查实施方案
- 广东省垦造水田项目
- 六年级数学上册课件-3.1 倒数的认识 人教版(共12张PPT)
- 2抽水蓄能电站在电力系统中的作用
- 食源性疾病监测报表
- 组织级项目管理成熟度(OPM3)
- (完整PPT)干眼的诊治课件
- 一对一谈心谈话记录3篇精选
评论
0/150
提交评论