版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程实践任务书学院经济管理学院专业信息管理与信息系统姓名学号课程名称面向对象程序设计设计题目学生信息管理系统程序设计设计要求与任务:使用任意一款JAVA开发工具开发一个实用的应用系统,如记事本、计算器、绘图软件、JSP网站或者MIS。可以采取B/S或者C/S模式。此次设计的具体要求还包括:(1)根据课程设计时间选择适当规模大小的设计题目,分小组进行设计。(2)小组组长为组员分配任务,根据合理的安排,按照软件开发的流程及方法,踏实地开展课程设计活动。(3)课程设计包括开发编码和撰写相关文档。最后提交详细的课程设计报告。(4)开发出可上机运行的JAVA应用,并上机测试。工作计划与进度安排:第1-3天:布置任务、分组、粗略调查、选题、可行性研究、系统规划。第4-6天:深入调研、系统分析、建立数据逻辑模型、系统设计、建立数据物理模型第7-9天:系统实施、程序设计、系统调试。第9-10天:应用测试、整理资料、撰写报告、准备验收指导教师(签字):年月曰专业负责人(签字):年月日学院院长(签字):年月曰摘要信息技术的快速发展的同时也带来了社会各个行业的发展。它的发展已经深入到社会的各个角落。作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。成功的运用信息技术将为各类学校学生信息管理带来无限便利。作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,大地提高学生档案管理的效率。本文介绍了系统开发的全过程。该系统以Windows为操作平台,Java为开发语言,Access为数据库,Eclipse为开发工具,使用JDBC技术进行连接,实现了在可视化的基础上,利用数据库进行后台管理。系统由学生和老师基本信息添加、学生和老师基本信息查询、学生和老师基本信息删除、学生和老师基本信息修改及退出系统等功能模块组成,基本功能较全面。用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,可视化强。采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。关键字:面向对象;Eclipse;JDBC目录TOC\o"1-5"\h\z\o"CurrentDocument"1前言1\o"CurrentDocument"1.1课题简介1\o"CurrentDocument"1.2设计目的1\o"CurrentDocument"2需求分析2\o"CurrentDocument"2.1业务需求分析2\o"CurrentDocument"2.2功能需求分析2\o"CurrentDocument"2.2.1学生信息2\o"CurrentDocument"2.2.2教师信息2\o"CurrentDocument"2.2.3成绩管理3\o"CurrentDocument"3数据库设计4\o"CurrentDocument"Java连接数据库4\o"CurrentDocument"3.1.1关系数据库概述4\o"CurrentDocument"3.1.2通过JDBC访问数据库4\o"CurrentDocument"3.2数据库与基本表设计4\o"CurrentDocument"4系统设计与实施7\o"CurrentDocument"EclipseJavaNeon37\o"CurrentDocument"4.2结构设计7\o"CurrentDocument"4.3文件组织结构7\o"CurrentDocument"4.4登录模块8\o"CurrentDocument"4.4.1设计构想8\o"CurrentDocument"4.4.2实现登录模块8\o"CurrentDocument"4.5学生信息模块11\o"CurrentDocument"4.5.1设计构想11\o"CurrentDocument"4.5.2实现学生信息模块主界面11\o"CurrentDocument"4.5.3添加信息12\o"CurrentDocument"4.5.4删除信息14\o"CurrentDocument"4.5.5修改信息15\o"CurrentDocument"4.5.6基本信息查询17\o"CurrentDocument"4.5.7成绩查询19\o"CurrentDocument"4.5.8退出系统21\o"CurrentDocument"4.6教师信息模块22\o"CurrentDocument"结束语26\o"CurrentDocument"参考文献27附录A错误!未定义书签。1前言1.1课题简介学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。近几年来,国家政策的调整,我国高等院校大规模扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高。目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,中、小学对学生档案的管理更是落后,这样的管理机制严重浪费人力和物力,已经不能适应时代发展的要求。计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件。1.2设计目的对学生信息管理系统,目的是为了对学校的学生信息管理工作进行系统的管理,以提高工作效率。通过程序设计,开发出学生信息管理系统代替相应的手工管理。学生信息管理系统可为用户提供充足的信息和快捷的查询手段,不但可以实现教师、学生的信息录入、修改与删除,而且可以实现学生成绩的信息录入、修改与删除,同时可以对所有的信息进行查询,实现学校的规范化管理。2需求分析2.1业务需求分析开发一个系统前,首先应该对该系统要实现的功能进行整体的分析和规划,确保在开发过程中不会出现重大缺陷和漏洞。因此,在软件开发的过程中应严格按照软件工程的流程进行系统的分析与设计。该系统是学生管理系统,应以学生信息为中心,组织相关程序结构。通过分析可知,学生信息管理系统的主要业务应有:学生基本信息管理、教师基本信息管理、学生成绩管理、用户管理等。2.2功能需求分析通过业务需求分析可知,该系统主要有三类用户:学生,教师和系统管理员。因此,该系统的功能可分为学生信息管理、教师信息管理和成绩管理,具体有以下几个方面:(1)学生:可以对每个学生的信息进行添加、修改、删除和查询。(2)成绩:可以对每个学生所学科目的成绩进行添加、删除、修改和查询。(3)教师:可以对每个教师的信息进行添加、删除、修改和查询。2.2.1学生信息学生信息主要存储了学生的基本情况,包括学号、姓名、性别、所在班级、所在学院等信息。一个学号可唯一确定一名学生。学生信息集中进行管理,方便进行相关基本信息的查询、修改、删除等活动,大大简化了手续。2.2.2教师信息教师信息主要存储了教师的基本情况,包括教师编号、姓名、性别、职称、所在学院等信息。一个教师编号可唯一确定一名教师。教师信息集中进行管理,方便进行查询、修改、删除和人事变动等活动,大大简化了手续。
2.2.3成绩管理成绩管理的对象是学生所学科目的相应成绩,对成绩进行集中管理,方便了学生查询成绩、教师添加、查询和修改成绩,加快了查询速度,提高了准确率,大大简化了手续。图2-1学生信息管理系统功能模块图3数据库设计3.1Java连接数据库3.1.1关系数据库概述关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,用二维表格形式来表述实体与实体之间关系。有3种完整性约束:实体完整性、参照完整性和用户自定义完整性,其中实体完整性和参照完整性是关系数据库中必不可少的完整性条件,分别表述为主属性不为空和一表或多表之间具有某种对应关系、相互制约。3.1.2通过JDBC访问数据库JDBC由Java编程语言编写的类和接口组成,是实现Java与各种数据库连接的关键,提供了将Java与数据库连接起来的程序接口,使用户可以以SQL的形式编写访问请求,然后传给数据库,其结果再由这一接口返回,从而实现对数据库中数据操作的目的。3.2数据库与基本表设计由于该系统数据量不大,采用了Access作为数据库,所建的系统数据库名为“studentl”。通过需求分析、概念设计与逻辑设计,可知该系统数据库应涉及到以下基本表:班级表、学生表、教师表,具体结构如下:(1)班级表(班级编号,班级名称,所属学院,班级人数)该表用于保存班级信息,其数据字典如表3-1所示:表3-1班级表数据字典字段名称数据类型说明班级编号varchar(20)主键班级名称varchar(20)所属学院varchar(20)班级人数int(2)学生表(学号,姓名,性别,出生日期,班级编号)该表用于存储学生的基本信息,其数据字典如表3-2所示:表3-2学生表数据字典字段名称数据类型说明学号varchar(20)主键姓名varchar(20)性别varchar(20)属性域为“男”,“女”出生日期data班级编号varchar(20)外键,参照班级表中班级编号(3)教师表(教师编号,姓名,性别,职称,所属学院,出生日期)
该表用于存储教师的基本信息,其数据字典如表3-3所示:表3-3教师表数据字典字段名称数据类型说明教师编号varchar(20)主键姓名varchar(20)性别varchar(20)属性域为“男”,“女”出生日期data职称varchar(20)所属学院varchar(20)
(4)课程表(课程号,课程名,学分)该表用于存储学生可学课程的基本信息,其数据字典如表3-4所示:表3-4课程表数据字典字段名称数据类型说明课程号varchar(20)主键课程名varchar(20)学分int(5)成绩表(学号,课程号,成绩,教师编号)该表用于存储学生可学课程的成绩情况,其数据字典如表3-5所示:表3-5课程表数据字典字段名称数据类型说明学号varchar(20)外键,参照学生表中学号课程号varchar(20)外键,参照课程表中课程编号成绩int教师编号varchar(20)外键,参照教师表中教师编号4系统设计与实施4.1EclipseJavaNeon3出于稳定性与便利性的考量,本设计选用了EclipseJavaNeon3作为程序的开发环境,Eclipse是著名的跨平台的自由集成开发环境(IDE),最初由OTI和IBM两家公司的IDE产品开发组创建,它本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。使用时可清楚的发现错误,并能根据相应规则进行修改,大大简化了程序检查工作。由于packageexplorer的存在,使得随时查找文件变得十分方便。同时又提供有很便利的数据库连接方式。EclipseJavaNeon3具有以下四大优点:(1)从编写、查错、编译、帮助等等各方面为Java语言贴身定做。(2)可无限扩展的强大插件功能。(3)众多公司、厂商、组织支持。(4)开放,自由,免费。4.2结构设计该系统用于对学生的基本信息与学生的成绩进行管理,主要包括添加、修改和删除学生与教师基本信息,录入、修改和删除学生的成绩,查询学生和教师的基本信息,为了方便,全部操作均在界面中完成。由此,将该系统结构设计为登录模块、学生模块、教师模块,对应于学生与教师这两类主要用户。由于涉及界面设计,因此调用了java.awt.*、java.awt.event.*、javax.swing.*、java.util.*、javax.swing.event.*、java.sql.*等包。4.3文件组织结构学生信息管理系统中使用的根目录文件夹是“nnn”,其文件组织结构图如图4-1所示:vfnnn7矽src7出nnrd以AddGrade.javaJUAddStudent.javaAddteacher.javaJUDeleteGrade.javaJUDeIeteStudent.javaJXDeleteTeacher.java盥GetGrade.java履GetStudent.java&GetTeacher.java0InfoManage.javaJUSetGrade.javaJUSetStudent.javaJUSetTeacher.java履studentmanagejava盥teachermanagejava履UsingExit.javaUsingExitl.java>feiJRESystemLibrary[JavaSE-1图4-1项目文件组织结构图4.4登录模块登录模块使进入学生信息管理系统的第一个界面,相当于一个网站的主页。4.4.1设计构想该系统是学生信息管理系统,用户为三类:学生、教师和系统管理员,可在相应的权限范围内查询和更新系统数据。因此,不同的用户在登录时需有不同的角色选项,此外,还应有各自的用户名和密码。4.4.2实现登录模块(1)要生成一个界面,可应用AWT知识。设置其名字为学生信息管理系统;设置布局管理器为(null)布局管理器,这样方便往其中放组件;设置窗口大小和位置,还要设置窗口可见性。(2)生成界面后,接下来就需要实现每个功能,在设计构想中提到的第一个功能就是要对操作对象的身份进行选择,这里要用下拉列表的形式进行选择,也可以用单选按钮来完成这个功能。在这项功能中,首先要选择身份,所以要定义一个JLabel来说明,定义完JLabel后,就需要定义一个JComoBox,也就是下拉列表框。输入用户名和密码。需要用两个JLabel来指明需要输入用户名和密码。输入用户名需要定义一个JTextField,也就是单文本框。同时输入文本,但输入密码和输入用户名是不一样的,它需要定义成JPasswordField,它的输出结果为“*****”这样的形式。创建两个按钮,一个是登录按钮,另一个是取消登录按钮,用来输入的用户名和密码及选择的身份进行提交。当然要对登录按钮事件进行事件监听,首先要验证用户名和密码是否正确并对上,然后根据选择的身份来选择需要进入那个界面,其代码如下:publicclassInfo_ManageextendsFrameimplementsActionListener{JLabelJLUserName=newJLabeL("用户名");JLabelJLPaw=newJLabel("密码");JLabelJLP=newJLabel("角色");JTextFieldJTUserName=newJTextField();JPasswordFieldJPsw=newJPasswordField();JTextFieldjt=newJTextField(10);Stringstr[]={"学生","教师","管理者");JComboBoxJCB=newJComboBox(str);JButtonJB1=newJButton("登录");JButtonJB2=newJButton("取消");publicInfo_Manage(){this.setTitle("学生信息管理系统);this.setLayout(null);JLUserName.setBounds(100,40,100,20);this.add(JLUserName);JTUserName.setBounds(200,40,100,20);this.add(JTUserName);JLPaw.setBounds(100,100,100,20);this.add(JLPaw);JPsw.setBounds(200,100,80,20);this.add(JPsw);JCB.setBounds(200,150,100,20);this.add(JCB);JLP.setBounds(100,150,100,20);this.add(JLP);JB1.setBounds(100,200,60,20);this.add(JBl);JB1.addActionListener(this);JB2.setBounds(200,200,60,20);this.add(JB2);JB2.addActionListener(this);this.setVisible(true);this.setBounds(10,10,400,250);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});JCB.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){inth=JCB.getSelectedIndex();if(h==0)student_managesm=newstudent_manage();elseif(h==1)teacher_managetm=newteacher_manage();}});}publicvoidactionPerformed(ActionEvente){if(e.getSource()==JB1){Stringname=JTUserName.getText();Stringpassword=newString(JPsw.getPassword());if((name!=null&&(name.equals("1")))&&(password!=null&&(password.equals("1”)))){
newstudent_manage();}else{}}}其运行结果如图4-2所示:|_|字生信息统-□X图4-2Info_Manage.java的显示结果4.5学生信息模块当选择“学生”时,单击“登录”按钮就可以进入学生信息管理系统了,其信息量很大,具体如下所述:4.5.1设计构想进入了学生信息管理系统,就可以对摸个学生的信息进行输入、修改和删除,也能对同学的信息进行查询和对程序进行查询。当打算离开时,还要有一个选项用来退出学生信息管理系统。4.5.2实现学生信息模块主界面根据设计构想,首先要搭建一个界面,然后吧学生信息操作的每一部分分为3大块,分别是信息、查询、和其他,并把他们做成菜单形式,最后将对信息的输入,修改和删除做成子菜单添加到信息菜单下;将查询信息和查询成绩添加到查询菜单下;将突出添加到其他菜单下,并把他做成子菜单放在一个菜单下,这样做是为了如果以后需要更多的功能,可以很方便的进行添加。创建菜单需要的定义JMenu,创建子菜单需要定义JMenuItem,并且要指明是添加到哪个菜单下面,下面是学生管理模块主界面的部分代码classstudent_manageextendsJFrameimplementsActionListener{JMenuBarjm=newJMenuBar();JMenujm1=newJMenu("信息");JMenuItemjmi1=newJMenuItem("增加信息”);JMenuItemjmi2=newJMenuItem("删除信息”);JMenuItemjmi3=newJMenuItem("修改信息”);JMenujm2=newJMenu("查询");JMenuItemjmi21=newJMenuItem("基本信息查^"');JMenuItemjm22=newJMenuItem("成绩查询");JMenujm3=newJMenu("其他");JMenuItemjmi31=newJMenuItem("退出");〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionPerformed(ActionEvente){if(e.getSource()==jmi1)newAddStudent();if(e.getSource()==jmi2)newDeleteStudent();if(e.getSource()==jmi3)newGetStudent();if(e.getSource()==jmi21)newSetStudent();if(e.getSource()==jmi31)newUsingExit().setVisible(true);if(e.getSource()==jm22)newSetGrade();}其运行结果如图4-3所示:图4-3student_manage.java的显示结果4.5.3添加信息每个子菜单都对应着一个操作界面,接下来对每一个子菜单进行讲解。当选择信息菜单下的“增加信息”子菜单时,将弹出如图所示的界面,它调用了AddStudent.java类实现该功能。通过对"增加信息”这一子菜单设置监听,弹出界面。AddStudent.java的代码如下:classAddStudentextendsJFrameimplementsActionListener{JLabelJL=newJLabel("添加基本信息'',JLabel.CENTER);JLabelJLNumber=newJLabel("学号");JTextFieldJTNumber=newJTextField();JLabelJLName=newJLabel("姓名");JTextFieldJTName=newJTextField();JLabelJLClass=newJLabel("班级");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性别");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("学院");JTextFieldJT1=newJTextField();JLabelJL2=newJLabel("生日”);JTextFieldJT2=newJTextField();JButtonJBAdd=newJButton("添加");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionPerformed(ActionEvente){if(e.getSource()==JBAdd){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();Stringsclass=JTClass.getText();Stringssex="女";if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText();sql="select*fromstudentwhereid='"+snumber+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection(
"jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.executeQuery(sql);if(rs.next())JOptionPane.showMessageDialog(null,"该号码已存在!");else{sql="insertintostudentvalues('"+snumber+"','"+sname+"','"+sclass+"','"+ssex+"','”+scollect+"','"+sbir+"')";inti=stm.executeUpdate(sql);if(i>0)JOptionPane.showMessageDialog(null,"添加成功!");elseJOptionPane.showMessageDialog(null,"删除失败!");}}catch(Exceptionee){}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit){setVisible(false);其运行结果如图4-4所示:图4-4AddStudent.java的显示结果4.5.4删除信息当选择信息菜单下的删除信息子菜单是,将弹出图所示的界面,它调用了DeleteStudent.java类实现该功能,其代码如下:classDeLeteStudentextendsJFrameimplementsActionListener{JLabeLJL=newJLabeL("删除基本信息",JLabeL.CENTER);JLabeLJLNumber=newJLabeL("学号");JTextFieLdJTNumber=newJTextFieLd();JLabeLJLName=newJLabeL("姓名");JTextFieLdJTName=newJTextFieLd();JButtonJBDeL=newJButton("删除");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");StringsqL="";〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionPerfomed(ActionEvente){if(e.getSource()==JBDeL){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();sqL="seLect*fromstudentwhereId='"+snumber+"'";try{CLass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResuLtSetrs=stm.executeQuery(sql);if(rs.next())(sqL="deLete*fromstudentwhereId='"+snumber+"'";intn=stm.executeUpdate(sqL);if(n>0)JOptionPane.showMessageDiaLog(null,”删除成功");elseJOptionPane.showMessageDiaLog(null,"删除失败');}elseJOptionPane.showMessageDiaLog(null,"此用户不存在"');}catch(Exceptioner)(}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);}if(e.getSource()==JBExit)setVisibLe(false);}}其运行结果如图4-5所示:图4-5DeleteStudent.java的显示结果4.5.5修改信息当选择“信息”菜单下的“修改信息”子菜单时,将弹出如图所示的界面,他将点用了GetStudent.java类实现该功能。GetStudent.java的代码如下:classGetStudentextendsJFrameimplementsActionListener{JLabeLJL=newJLabeL("学生基本信息",JLabeL.CENTER);JLabeLJLNumber=newJLabeL("学号");JTextFieLdJTNumber=newJTextField();JLabelJLName=newJLabeL("姓名");JTextFieLdJTName=newJTextField();JLabelJLClass=newJLabel("班级");JTextFieLdJTClass=newJTextField();JLabelJLsex=newJLabeL("性别");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男”);JRadioButtonJRB2=newJRadioButton("女“);JLabeLJL1=newJLabeL("学院");JTextFieLdJT1=newJTextFieLd();JLabeLJL2=newJLabeL("生日”);JTextFieLdJT2=newJTextFieLd();JButtonJBGet=newJButton("修改");JButtonJBNext=newJButton("取消");JButtonJBExit=newJButton("退出");StringsqL="";〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionPerformed(ActionEvente)(if(e.getSource()==JBGet){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();StringscLass=JTCLass.getText();Stringssex="女",sqL;if(JRB1.isSeLected())ssex="男";StringscoLLect=JT1.getText();Stringsbir=JT2.getText();sqL="seLect*fromstudentwhereLd='"+snumber+"'";try{CLass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResuLtSetrs=stm.executeQuery(sqL);if(rs.next()){sqL="updatestudentsetname='"+sname+"',cLass=+scLass+"'Jsex='"+ssex+"'JcoLLect='"+scoLLect+"',bir='"+sbir+"'whereLd='"+snumber+"'";intn=stm.executeUpdate(sqL);if(n>0)JOptionPane.showMessageDiaLog(null,"修改成功");elseJOptionPane.showMessageDiaLog(null,"修改失败!");elseJOptionPane.showMessageDiaLog(null,"此用户不存在!”);}catch(Exceptioner)(}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTCLass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit){setVisibLe(false);}}publicstaticvoidmain(Stringargs[]){newGetStudent();}}其运行结果如图4-6所示:图4-6GetStudent.java的显示结果4.5.6基本信息查询当选择“查询”菜单下的“基本信息查询”子菜单时,将弹出如图所示的界面,它调用了SetStudent.java类实现该功能。SetStudent.java的代码如下:classSetStudentextendsJFrameimplementsActionListener{JLabelJL=newJLabel(”查询基本信息”,JLabel.CENTER);JLabelJLNumber=newJLabel("学号");JTextFieldJTNumber=newJTextField();JLabelJLName=newJLabel("姓名");JTextFieldJTName=newJTextField();JLabelJLClass=newJLabel("班级");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性别");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("学院");JTextFieldJT1=newJTextField();JLabelJL2=newJLabel("生日");JTextFieldJT2=newJTextField();JButtonJBSet=newJButton("查询");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionperfoemaed(ActionEvente)(if(e.getSource()==JBSet){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();Stringsclass=JTClass.getText();Stringssex="女";if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText();sql="select*fromstudentwhereId='"+snumber+;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc.odbc.student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.executeQuery(sql);if(rs.next()){Stringname=rs.getString(2);JTName.setText(name);Stringclas=rs.getString(3);JTClass.setText(clas);Strinsex=rs.getString(4);JRB1.setText(sex);Stringcollect=rs.getString(5);JT1.setText(collect);Stringbir=rs.getString(6);JT2.setText(bir);intn=stm.executeUpdate(sql);if(n>0)JOptionPane.showMessageDiaLog(null,"查询成功");elseJOptionPane.showMessageDiaLog(null,"查询失败");}ElseJOptionPane.showMessageDiaLog(null,"此用户不存在");}catch(Exceptionee)(}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit)setVisible(false);}}其运行结果如图4-6所示:图4-7SetStudent.java的显示结果4.5.7成绩查询当选择"查询”菜单下的"成绩查询”子菜单时,调用SetGrade.java类来实现功能。SetGrade.java的代码如下:classSetGradeextendsJFrameimplementsActionListener{JLabelJL=newJLabel("查询成绩",JLabel.CENTER);JLabelJLNumber=newJLabel("学号");JTextFieldJTNumber=newJTextField();JLabelJLName=newJLabel("姓名”);JTextFieldJTName=newJTextField();JLabelJLClass=newJLabel("大学英语");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性别");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("高等数学");JTextFieldJT1=newJTextField();JLabelJL2=newJLabel("班级");JTextFieldJT2=newJTextField();JButtonJBSet=newJButton("查询");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";〃添加组件与设置位置部分代码与Info_Manage.java类似publicvoidactionPerformed(ActionEvente)(if(e.getSource()==JBSet){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();Stringsclass=JTClass.getText();Stringssex="女";if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText();sql="select*fromgradewhereld='"+snumber+;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1”,"”,"”);Statementstm=cot.createStatement();ResultSetrs=stm.executeQuery(sql);if(rs.next()){Stringname=rs.getString(2);JTName.setText(name);Stringclas=rs.getString(3);JTClass.setText(clas);Stringsex=rs.getString(4);JRB1.setText(sex);Stringcollect=rs.getString(5);JT1.setText(collect);Stringbir=rs.getString(6);JT2.setText(bir);intn=stm.executeUpdate(sql);if(n>0)JOptionPane.showMessageDiaLog(null,"查询成功!");
elseJOptionPane.showMessageDiaLog(null,"查询失败!");)elseJOptionPane.showMessageDiaLog(null,"此用户不存在!");}catch(Exceptionee)(}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025人工智能训练师题库及答案
- 2025山东烟台市市属事业单位招聘182人备考试题含答案
- 高三心理健康教学设计:考场心态重塑与从容应考策略
- 2026年重庆兴农融资担保集团有限公司人员招聘考试备考题库及详细答案解析
- 2025药品质量管理制度培训题库及参考答案
- 高中体育与健康必修第一册·复习正手平击发球与学习横拍反手推拨球教学设计
- 2025长期照护师试题及答案
- 2026 年保安考试题库及答案
- 高二物理量子论初步教学教案
- 2026殡葬专业就业试题及答案
- 中国邮政储蓄银行2027届校园招聘笔试备考试题及答案解析
- 2025年广州市海珠区事业单位人员招聘考试试题及答案详解
- 2.7.2 勾股定理的逆定理 课件 -2026-2027学年浙教版数学八年级上册
- 2026年融媒体新闻采编技术应用及理论知识考试题库(附含答案)
- 2026国企招聘考试公共基础知识考试题(含答案)
- 髋、膝关节置换术后护理及功能康复
- 人工挖孔灌注桩安全技术交底培训
- 内支撑设计计算书(Excel自动计算版)
- GB/T 29717-2026滚动轴承风力发电机组偏航、变桨轴承
- 新版2025-2026部编人教版小学语文1一年级上册(全册)教案设计合集
- 2026年基于数字化手段的幼儿园家园沟通效率提升策略
评论
0/150
提交评论