Java程序课程设计---一个简单的学生成绩管理信息系统.docx
与M龙卷毅学科学学就java程序设计试验报告课«>一个简洁的学生成果管理信息系统姓.名:.学.号,班.级:.指导老师,时间:12月20日团队完成:考核结果1.绪论(内容:要求小四号字体)此次课题是一个简洁的学生管理系统,该课题涉与数据库、JaYa等领域。要求达到以下功能:1 .能够依据学生姓名、学号、班级、课程名称查询详细内容。2 .能够实现依据单科成果、总成果、平均成果、学号排序。3 .能够实现学生信息的插入、删除和修改。4 .能够查询每个课程的最高分、最低分与相应学生姓名、班级和学号。5 .能够查询每个班级某门课程的优秀率(90分与以上)、不与格率,并进行排序。6 .能够运用图形界面进行操作。要实现这些功能须要娴熟运用数据库和JaVa编程语言,并且能够实现功能组件6个文本域、6个标签、1个按钮功能实现添加数据实现过程对按钮添加监控,实现按钮事务为获得文本域中的信息,并执行SQ1.的INSERT语句。Delete类:功能组件1个单行文本、1个标签、1个按钮、1个多行文本功能实现删除数据实现过程与修改数据类似,对按钮添加监控,实现按钮事务为获得文木域中的学号信息,并执行SQ1.的DE1.ETE语句:不同的是以学号为主键进行杳找并将删除信息输出到文本框中。Modify类:功能组件6个单行文本、6个标签、1个按钮功能实现修改数据实现过程与添加数据类似,对按钮添加监控,实现按钮事务为获得文木域中的信息,并执行SQ1.的UPDATE语句:不同的是以学号为主键进行查找并更新,Query类:功能组件5个按钮、三个单行文本组件、1个卜拉框、1个多行文本功能实现按学号查询、按姓名查询、按班级查询、按课程查询、显示全部实现过程对按钮添加监控,共有五个监控事务,前三个实现按钮事务为先获得文本域中的信息,依据对应查询的要求执行相应的SQ1.的SE1.1.ECT语句:按课程查询通过在下来框中选挣对应的选项,即查询相应的课程:第五个查询按钮将全部信息在多行文本框中输出。MyFrane类:主类,实现面板,可在其上进行对插入、删除、修改、杳询等方法的调用,并且对界面进行r设计和规划。4)界面设计:功能组件4个按钮、1个背景、1个标签文本、1个面板功能实现杳询数据、添加数据、删除数据、修改数据实现过程对按钮添加监控,共有4个监控事务,实现按钮事务为创建对应功能的类对象,出现相应的功能窗口。横图如下:3.算法实现与分析(内容:要求小四号字体)1 .主界面2 .添加数据3 .修改数据4 .删除数据5 .查询数据(1)按学号查询(2)按姓名查询(3)按班级查询(4)按课程名称查询(5)显示全部信息4 .运行调试与探讨(内容:要求小四号字体)1 .运行与调试过程中遇到的如下的问题(1)数据库的链接出现问题,导致表格找不到。解决方法:重新建表(2)编译时系统没有提示错误,但是运行的界面中某些接1.l不能实现。解决方法:经检查发觉是连接数据库的密码错误,改正后可以运行。2 .此程序还存在下列不完善的地方(1)面板设计较为单调,欠缺调色,还可以在面板上添加制作人等信息。(2)在添加信息时,光标可以依靠键盘上下移动,不须要鼠标点击,这样可以更便利快捷。<3)修改数据的界面比例不是很协渊(4)修改数据的源代码不能实现选择性的修改:例如依据学号修改姓名。(5)显示信息不能做到数据的对齐,使得界面不美观。(6)第一次查询用的信息不能自动更新,导致后面的查询给人一种凌乱感:例如先运用学号120702119查询,再运用姓名“张三”查询,此时上一个学号的信息还保留,并不能更新到“张三”的学号。(7)没有退出的按钮,尚未实现退出语句。5 .设计体会与小结(内容:要求小四号字体)选择“个简洁的学生成果管理系统”作为这一次的课即,是因为这个课题主要运用的是Java与数据库的相关学问,而这个学期,我们正好学习了这两门课程,在这个课题中Java与数据库学问的结合,是对这两个课程理解学习成果的一个双重考察。第步,我们确定了课程的整体思路。首先在数据库中建好相关表格,然后将数据库连接到JaVa,最终运用JaVa编程实现相关界面与系统功能。思路确定后,在详细实现过程中,我们遇到了一些问题.首先我们对Java连接数据库的相关学问不是特殊清晰,其次应用JaVa编程实现相关界面不是很娴熟。为解决这些问题,顺当完成课题,我们查阅r相关的资料并且请教了上届的学长,了解了什么叫做架包,知道了怎么实现数据库与mycclipse的连接,如何在myeclipse的环境中运用建表语句以与实现相关界面。有了这些学问作为基础,我们的课程设计便走上了正轨。首先,我们在数据库中建立了包含学生学号、姓名、班级,语文、数学、英语成果的数据的表格,然后JaVa中建立了架包,建立COnneCtionCtil类,获得与数据库的连接,最终就是在myeclipse环境下,运用JaVa语句,将添加数据、查询数据、删除数据、修改数据四个功能分为四个类来实现,另外用一个主类实现面板,可在其上进行插入、删除、修改、查询等功能,并且对界面进行了设计和规划。在这个过程中,我们遇到了很多问题,如数据库连接不上,程序编译没有错误,但功能无法实现等,学长都给了我们很大帮助,次次修改尝试,最终得到了现在的版本,虽然有很多不足与缺点,但是课题顺当完成仍是给了我们很大的满意感,也让我们体会到了程序员的辛苦。通过这次课题的探讨,让我充分相识到自己距离一个合格的程序员还很远,相识到自己相关学问的的储备量还很少,对现在所学的JaVa与数据库课程的驾驭程度还不够,但是在这个过程中我也学习到很多相关学问,充分的相识到要想学好编程语言,就必需勤动手,要常常练习,才能娴熟驾驭每一种方法,光靠大脑的记忆是远远不够的,只能是纸上谈兵。在以后的课程学习中,我肯定会更加重视实践练习,养成良好的编程习惯,这样才能做一个合格的程序员。刚看到这个课题的时候,就先大体确定了整体思路,这个课题要求熟识数据库,Java编程。实现过程中我们须要先在数据库中建立好表,再进行好与Java的连接,再运用myecIipse编程。思路有心但真正实施的时候出现很多问题,通过相关资料的查询和请教上届的学长,在Java中建立了架包,建立ConneetionUtil类,获得与数据库JSD1407的连接,在编程语言环境下写好建表语言,添加包含学生学号、姓名、班级,语文、数学、英语成果的数据。与数据库的连接出现表丢失的现象、要实现这个学生成果管理系统,须要一个主类,以与涉与插入,删除,查询,修改的子类,在主类中调用,达到效果。由于对JaVa语句没有很熟识的驾驭,导致很多代码显得累赘繁琐。在界面上,建立了4个按钮、1个背景、1个标签文本、1个面板,参考文献(内容:要求五号字体)1.数据库系统基础教程(第三版)机械工业出版社2.Java程序设计(第三版)清华高校出版社附录(源代码)(内容:要求小五号字体)一、架包packagecom.tarena.util;igortjava,sq1.Connection;importjava.Sq1.DriverManager;publicclassConnectionllti1publicstaticConnectionRetConnection()throwsException!Class.brj'Vze(*com.11ysql.jdbc.Driver*):Stringurl=*jdbc:mysql:/localhost:3306JSDI407,;StringUSer="rool"Stringpassword=*1234":Connectionconn=DriverManager.getConnecf/o?(ur1,user,password):returnconn;publicstaticvoidmain(StringJargs)throwsException!System,out.printIn(geIConnecIionO');/s通过打印看一下是否连接上了将获得连接的方法封装二、建表语言createtablestudent(novarchar(10)notnull,namevarchar(50)notnull,class_novarchar(2)notnull,Chinesedouble(3,1)notnull,mathdouble(3,1)notnull,engIishdouble(3,1)notnull,primarykey(no):descstudent;insertintostudent(no,name,cIassjio,Chinese,math,english)ValUeS(120702101,'陈丽芳',1,66,77,88):select*fromstudent:三、JaVa编程MainFrane类isportjavax.swing.;i三portjava.awt.:i11ortjava.awt.event.;publicclassMainFrameextendsJFraaeJButtoninsert,query,delete,modify;JPanelpanel,panelllpanel2:publicMainFrameO/TODOAuto-generatednethodstubImageiconing=nevImageIconCl.gif*);J1.abeltextl,text2lpictur=newJ1.abel(i三g);JFramefra三e=nwJFrame("学生成果管理系统”);insert=newJBUttOn(“添加数据;insert.SetBackground(Color,green);insert.addAction1.istener(newinsertActionPerfomed0):qury=nwJBUttOnC查询数据");query.addAction1.istener(nevQueryActionPerfor三ed();query.SetBackground(Color,green);nodify=newJBUttOn("修改数据");nodify.SetBackground(Color,green):Bdify.addAction1.istener(nerInodifyActionPerfomedO):delete=newJBUttOn(,删除数据”);delete.SetBackground(Color,green);delete.addAction1.istener(nevdeleteActionPerfomedO);frame.setSize(360,200);frame.SetDefaultcioseOperation(JFran>e.EXIT_ON_C1.OSE);ContainercontentPane=frame.getContentPaneO;ContentPane.Set1.ayout(newBorder1.ayoutO);textl=newJ1.abelf欢迎运用学生成果管理系统.,J1.abel.CENTER);textl.stFont(newFont("宋体,Font.BO1.D,24);textl.SetForeground