C#学生成绩管理系统课程设计报告(1)_第1页
C#学生成绩管理系统课程设计报告(1)_第2页
C#学生成绩管理系统课程设计报告(1)_第3页
C#学生成绩管理系统课程设计报告(1)_第4页
C#学生成绩管理系统课程设计报告(1)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、C#课程设计报告2015年1月1日目录第一章绪论11.1设计目的11.2开发工具选择11.3开发环境I1.4本报告的主要内容1第二章需求分析22.1系统需求简介22.1.1系统目标22.1.2功能冷求分析22.1.3性能需求分析2第三章总体设计33.1设计概述33.2系统总体结构及功能模块划分33. 2.1学生信息査询模块33.2.2学生信息管理模块43.3系统数据库概念结构设计43. 3.1 系统 E-R 图43. 3. 2系统数据库的设计53.4安全保密设计63.4.1用户登录安全性6第四章详细设计74.1概述74.2系统程序流程图74.3系统主要功能模块简介84.3.1系统登录84.3.

2、2学生信息査询模块84.3.3学生信息管理模块9笫五章主要功能模块代码115公共类代码设计115.2登录界面代码设计135.3査询模块代码设计145.4添加模块代码设计155.5更新模块代码设计165.6删除模块代码设计19第六章课程设计心得20第一章绪论1.1设计目的本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序 的设计和ADO. net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实 际问题的能力。1.2开发工具选择本系统后台数据库采用Microsoft SQL Server数据库,该数据库系统在安全性、准确性 和运行速度方面有绝对的优势,并且处理数抵虽:大,

3、效率高:前台采用Microsoft公司的 Visual Studio 2008作为主要开发工具,可与SQL Server 2005数据库无缝链接。1.3开发环境系统开发平台:Microsoft Visual Studio2005系统开发语言:C#数据库管理软件:SQL Server 20051.4本报告的主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如 下:系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设 计、系统运行与测试。12.1系统需求简介2.1.1系统目标(1)根据查询条件实现学生信息的查询(2)学生选课信息查询、成绩信息的查询(3)学生信息、

4、课程信息、成绩信息的增加、删除、修改(4)对基本信息完成增加、删除、修改时,需注意表与表之间的关联 21.2功能需求分析本系统的功能需求分析如下:(1)学生信息查询:学生可以根据学号、姓名、专业进行查询.(2)学生信息管理:主要是用于学生信息更新、插入、删除:(3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新: 2.1.3性能需求分析(1)登录、用户界面需求:简洁、易懂、易用、友好的用户界面。(2)安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管 理等。第三章总体设计3.1设计概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成

5、一个整体。逐一实现各个功能:3.2系统总体结构及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息 查询,学生信息管理,学生成绩录入三个功能模块。如图3. 2.1系统的总体结 构。学生信息管理系统学生信息查学生信息管学生成绩录图3.2.1系统的总体结构3. 2.1学生信息查询模块学生信息査询:学生可以根据学号、姓名、专业进行查询。如图3.2.2学生信息査询模块结构。学 弓 査 询姓 名 査 询图3.2.2学生信息管理模块结构3. 2. 2学生信息管理模块学生信息管理:主要是用于学生信息更新、插入、删除,如图3. 2. 3学生管 理模块结构。学生信息管理成 绩 更 新

6、学生信息更新基本信息更新学生信息删除图3.2.3学生信息管理模块结构3.3系统数据库概念结构设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及 它们之间的关系,为后而的逻辑结构设计打下基础。3. 3.1系统E-R图系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖 表示明白。如图3. 3.1系统E-R图结构。3. 3. 2系统数据库的设计综合以上分析,要实现上面的所有功能模块,主要设计表如下:表3.3用户表(usedata)列名允许为null? USERIDnchar(6)USERNAMEnchar (8)PASSWORDnchar(16)表3.3.2成绩

7、表(SC)列名允许为null? SNOint? CNOintSCOREint0表333课程表(C)列名允许为nullP CNOint回CNnchar(16)LJCTintCSTUintCSCint回表334学生表(S)列名允许为nullSNOintSNnchar (8)MNnchar(lO)SEXnchar(2)BIRDAYdatetimeTSintCOMnchar(200)3.4安全保密设计3.4.1用户登录安全性系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入 正确的用户名及密码组合后才能够对学生信息进行操作。#第四章脚设计4.1概述详细设计阶段的根本目标是确定应该怎样具

8、体的实现所要求的系统,也就是 说,经过这个阶段的设计工作,应该得岀目标系统的精确描述,从而在编码阶段 可以把这个描述直接翻译成用某种程序设计语言书写的程序。4.2系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方 法。它可将整个程序的总体流程淸楚明白的显示出来。如图4. 2. 1系统总流程图 结构。4.3系统主要功能模块简介4.3.1系统登录用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面如图4.3.1用户登录界面所示。图43.1用户登录界面43.2学生信息查询模块学生信息查询:在程序主界面(如图432程序主界面)学生可以根据学 号、姓名进行查询

9、。学生也可以只用一种条件进行信息查询,也可以多个条件查 询。双击记录任一单元格可显示学生的更详细信息(如图4.3.3详细信息窗口)。学生成安佶亘色湮系烷 lc,显示全部信息宇号姓名专业名称性别出日期总学分薈注736631张人凤英谄男1956/2/4集人人1 a91101王林计宜机男1S66/2/150无卜y軌逮信息记录91102程明计聲机男1887/2/1050姓名91104计且机畀1966/5/350Sif7091107丽拆电子商势女1967/4/250学号91120Tw英18男1966/3/25091220吴卫华通信工程男1966/3臬人计苴机男1986/7/88

10、79733苏臬臬计篡机男1900/1/1996453计苴机男個0/6/29是个農退出图4.3.2程序主界面#图4.3.3详细信息窗口4.3.3学生信息管理模块学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单(如图434上 下文菜单)可对当前选定学生信息进行详细信息查询(如图4.3.3详细信息窗口)、修改 信息(如图435修改信息窗口)、删除信息(如图4.3.6删除信息提示)。更新时如果 输入的学号不存在,可选择是否添加学生信息。通过程序主界而的新建信息记录 可添加学生信息(如图4. 3.7添加信息窗口)。图4.3.4上下文菜单11图4.3.5修改信息窗口图436删除信息提示图4.3.

11、7添加信息窗口第五章主要功能模块代码5.1公共类代码设计namespace MySqlpublic class mySqlpublicStringconncctionString=MSERVER=.SQLEXPRESS;AttachDbFilcnamc=D: 学 习 C# 课 程 设 计 StuScorcManSystcmStuScorcManSystemStuScoManSys.mclf;Integrated Security=True;Conncct Timcout=30;User Insiancc=Truc;public String commondTcxt;public bool il

12、ag;指示有条该条记录public Systcm.Data.DataVicw table;public void runSql() / 执行査询、AM除 SQL 语旬using (SqlConncction connection = new SqlConncction(conncctionString)connection .Open();SqlCommand emdQuery = new SqlCommand(commondTcxt, connection);SqlDataAdaptcr sda = new SqlDataAdaptcr(commondTcxt, connection); D

13、ataSet ds = new DataSct();sda.Fill(ds);if (commondTcxt.IndcxOR SELECT) = 0)table = ds.TablcsO. De fault View;connection.CloscO;public bool gctFlag()判断是否有该条记录using (SqlConncction connection = new SqlConncction(conncctionString)connection.Open();SqlCommand emdQuery = new SqICommand(commondTcxt,connect

14、ion);SqlDataReadcr reader = cmdQucry.ExccutcRcadcr();if (reader.Read() flag = true;else flag = false;readcr.Close();connection.Closc();return flag;public String gctContcnt(String require,String SNO)获取视图表的的指定单元格内容commondTcxt = SELECT + require + FROM detail WHERE 学号 =+ SNO;if(rcquirc = Mup 课程名称”)comm

15、ondTcxt = SELECT 课程名称 FROM detail WHERE 学号 =+ SNO;if (require = up 成绩)commondTcxt = SELECT 成绩 FROM detail WHERE 学号=+ SNO;SqlDataAdaptcr sda = newSql Data Adapted commondTcxt,connectionString);DataSet ds = new DataSct();sda.Fill(ds);String result;ircquirc=课程名称 ”|rcquirc=成绩)int i=ncw int();for (i=0; i

16、 ds.Tables0.Rows.Count; i+)result = rcsult-His.Tablcs(0.Rowsircquirc.ToString()+,n;elsercsult=ds.Tablcs0.Rows0rcquirc.ToString().Trim();return result;catchreturn 无;public void updatc()添加、更新语句tryusing(SqlConncctionconnection=newSqlConnection(conncctionString)conncction.Open();SqlCommand emd Insert =

17、new SqlCommand(commondText, connection);cmdlnscrt.ExecutcNonQucryO; connect ion .Close(); catch(Exccption ex)MessagcBox.Show(ex.ToString(),提示”);5.2登录界面代码设计private void login_Click(object sender, EvcntArgs c) /用户名及密码组合判断if (uscmamc.Tcxt.ToString().Trim() != nn & password.Tcxt.ToString().TrimO !=mySql

18、 sql = new mySql();mondTcxt = SELECT * FROM userdata WHERE USERNAME+uscmamc.Tcxt.ToString().Trim() + AND PASSWORD= + password.Tcxt.ToSlring().Trim() +trybool temp = new bool(); temp = sql.gctFlagO;if (temp)this.Visibie = false;main face main = new mainfacc(this); main.Show();catch(Exccption e

19、x)McssagcBox.Show(ex.ToString(),0 提示);elseMessage Box.Show(谙输入用户名和密码,提示);5.3査询模块代码设计private void blQuery_Click(object sender, EventArgs e)mySql qucry=ncw mySql();if (sNInput.Tcxt.TrimO = & sNoinpul.Tcxl.Trim()!=) mondTcxt = SELECT SNO AS学号,SN AS姓名,MN AS专业名称,SEX AS性别,B1RDAYAS出生日 期,TSAS 总学分,C

20、OM AS 备注 FROM S WHERE SNO=+sNoinput.Tcxl.Trim()+;if (sN】叩ut.Tcxt.TrimO != & sNoinput.Tcxt.Trim() = M) mondTcxt =SELECT SNO AS学号,SN AS姓名,MN AS专业名称,SEX AS性别.BIRDAYAS岀生日 期,TS AS 总学分,COM AS 备注 FROM S WHERE SN= +sNInput.Text.Trim()+if (sNI叩ut.Tcxt.TrimO != & sNoinput.Tcxt.Trim() != ) mo

21、ndTcxt =SELECT SNO AS学号,SN AS姓名,MN AS专业名称,SEX AS性别,BIRDAYAS出生日 期,TS AS 总学分,COM AS 备注 FROM S WHERE SN= + sNInput.Tcxt.TrimO + and SNO + sNoinput.Text.TrimO + ”;if (sNInput.Tcxt.TrimO =& sNoinput.Text.TrimO =)McssagcBox.Show(您输入的信息为空,请重新输入! ”,错误信息”);elseif (qucry.gctFlagO)qucry.runSql();dataGridVicw 1

22、 .DataSourcc = qucry.tablc;else McssagcBox.ShowC*您査找的信息不存在错误信息);5.4添加模块代码设计private void addbtOK_Ciick(objcct sender, EventArgs c)if (addStuNo.Tcxt.TrimO != ” & addStuNamc.Tcxt.Trim() != & addStuMajor.Tcxt.Trim()!=)mySql sql = new mySql();mondTcxt = SELECT CNO FROM C WHERE CN=W + listmn.Tcxt.T

23、oString().Trim()+sql.runSql();String temp = sqLtablc.Table.Rows0,CNO,.ToString();String sexTemp=radioButton 1 .Cheeked ?男:女;String comTcmp;if (addStuCom.Text.ToString().Trim()=”) comTcmp = ”;else comTcmp = addStuCom.Tcxt.ToString().Trim();String birTcmp= ”;if (addSluBir.Tcxt.ToString().Trim()=comTcm

24、p =else birTemp = addStuCom.Tcxt.ToString().Trim();mondTcxt = INSERT INTO S (SNO,SN,MN,SEX,BIRDAY,COM) VALUES(M+addStuNo.Tcxt.ToString( ).Trim( )+n,+addStuNamc.Tcxl.ToString().Trim()+T +addStuMajor.Tcxt.ToString().Trim()+, +scxTemp+,+birTcmp+, +comTcmp+);sql.updatc();ifVscorc.Tcxt.ToString().

25、Trim()!=,)mondTcxt = INSERT INTO SC(SNO,CNO,SCORE) VALUES (,+addStuNo.Tcxt.ToString().Trim()+,+lcmp+”,+scorc.Tcxt.ToString().Trim( )+”);; sql.updatcO;this.CIosc();elseMcssagcBox.Show(”学号、姓名和专业名称都不可以为空!,错误! ”);private void AddNcw_Load(objcct sender, EventArgs c)获取专业列表mySql sql = new mySql();sq

26、mondTcxt = SELECT DISTINCT CN FROM C;SqlDataAdaptcr sda = new SqlDataAdaptcr(mondTcxt,sql.conncctionString);DataSet ds = new DataSct();sda.Fill(ds);listmn.DataSourcc = ds.TablcsO.DcfaultVicw;listmn.DisplayMcmber = CN;listmn.DisplayMember = lisimn.DisplayMcmbcr.ToString().TrimO;private vo

27、id upbtOK_Click(objcct sender, EventArgs e)mySql sql = new mySql();mondTcxt = SELECT 学号 FROM detail WHERE 学号-+upStuNo.Tcxt.ToString().Trim();bool flagtcmp = sql.gctFlagO;ifdflagtcmp)如果表中无该条记录,提示是否进行添加新记录操作if(McssagcBox.Show(査无当前记录,无法进行更新操作! n是否进行添 加新记录的操作?,提示,McssagcBoxButtons.OKCanccl) = Dia

28、logRcsult.OK)if (upStuNo.Tcxt.Trim() != M & upStuNamc.Tcxt.Trim() != M &upStuMajor.Tcxt.Trim() !=)mySql sqlmc = new mySql();mondTcxt = SELECT CNO FROM C WHERE CN= +listmn.Tcxt.ToString().Trim() +sqlmc.runSqK);String lemp = sqlme.tablc.Tablc.Rows0,CNO,.ToString();课程String sexTemp = radioButt

29、on 1 .Cheeked ?男:女;Siring comTcmp;if (upStuCom.Tcxt.ToString().Trim()=comTcmp = else comTcmp = upStuCom.Tcxt.ToString().Trim();String birTemp;if (upStuBir.Text.ToString().Trim()=)birTemp = ”;else birTemp = upStuCom.Tcxt.ToString().Trim();mondText = INSERT INTO S (SNO,SN,MN,SEX,BIRDAY,COM)VA

30、LUES(+ upStuNo.Tcxt.ToString().Trim() + upStuN amc.Tcxt.ToString().Trim() + upStuMajor.Tcxt.ToString().Trim() + sexTemp + birTemp + comTcmp +sqlmc.updatcO;if (upStuScorc.Text.ToString().Trim() !=”)mondText=INSERTINTOSC(SNO,CNO,SCORE) VALUES ( + upStuNo.Tcxt.ToString().Trim()+ temp +,”+upStu

31、Scorc.Tcxt.ToString().Trim() +sqlmc.updatcO;this.CIose();elseMcssagcBox.Show(学号、姓名和专业名称都不可以为空! ! 错误!);elseif (upStuNo.Tcxt.Trim() != nn & upStuNamc.Tcxt.TrimO != nn & upStuMajor.Tcxt.TrimO !=)mondText = SELECT CNO FROM C WHERE CN= + lislmn.Tcxt.ToString().Trim() +sql.runSql();String temp = sq

32、l.tabIc.Tablc.Rows0CNO.ToSlring();获取课程号String sexTemp = radioBulton 1 .Cheeked ?男:女;String comTcmp;175upsulcom.TCXLTOSa.ng( ).! .m( =JcomTcmpu-=;else comTcmp=ups=com.Tcxt.TOS5.ngo.Trim()-String birTcmp八if (upscBir.TCXLTOS2.ng().Trim() = -JbirTcmp H :;else birTcmp H ups-UBir.TCXLTOS3.ng().Trim();sqLc

33、ommondTcxl H -UPDATE S SET SNL= +upscNamc.TCX.TOS=.ng().Trim() + =MN=+upscMajor.TCXLTOStrs-g().Trimo+2SEXM=- +SCXTCmp+2B - RD AYL-+ ups-UBir.TCXLTOStr5-g().T3.m() + =hOM=+comTcmp+= WHERESNOl+upscNO.TCXLTOSlringo.Trim()八sqLupda-eo 八booSCF-ag M new boolpif (upscscorc.TCXLTOS3.ng().T3.m()llJmySql scTcm

34、p M new mysqlpSCTCmondTCX- M -SELECT CNO FROM C WHERECN=*n + hstmn.TCXLTOSa.ngo.Trimo + ;ScTcmp. runsqo-ss.ng cnQmp HscTcmp JabpTabpROWSarcNOH.Tosa.ngow洽焙痢詔型SCTCmondTCX- H -SELECT SNO FROM SC WHERE snomu + upsBNO.TCXt.TOS-ringo.Trimo + s AND CNO= + cHcmpseFlag H SCTCmp.gc-Flagc Kif(SCF-ag)亠sqLcommondTCX; -UPDATE SC SET SCORE-+ ups-uscorc.TCXLTOStringo.Trim() + 3 WHERE SN

温馨提示

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

评论

0/150

提交评论