还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计课程名称数据库系统概论题目名称学生学籍信息管理系统学生学院计算机学院专业班级学号学生姓名指导教师左亚尧2013年1月17日目录TOC\o1-3\h\u1引言
31.1课程设计选题
31.2课程设计的目的
31.3本选题的设计背景32系统分析与设计
32.1功能及性能分析
32.
1.1功能需求
32.
1.2工作流程图
42.2系统的开发运行环境
42.3系统总体设计
42.
3.1系统设计思想
42.
3.2学校工作流程分析
52.
3.3用户具体需求分析
52.
3.4系统设计分析
52.
3.5系统权限分析53数据库设计
53.1数据库概念结构
63.2E-R图
63.3数据库逻辑结构
73.4流程图
73.5数据字典
93.6物理结构设计
103.7安全性设计124详细设计与实现
124.1系统设计例图
124.2登陆模块165总结196参考文献197附录
197.1程序清单201引言
1.1课程设计选题《学生学籍信息管理系统》
1.2课程设计的目的通过数据库系统课程设计,熟悉了SQLSERVER数据库管理系统的结构与组成;掌握了SQLSERVER数据库管理系统的应用技术和的使用;应用java程序设计,链接数据库,进行管理与维护最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力
1.3本选题的设计背景随着信息技术在管理上越来越深如而广泛的应用,管理信息系统的实施在技术上已经逐步成熟管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统学生学籍管理系统是一个教育单位不可缺少的部分它的内容对于学校的决策者和管理者来说都至关重要所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难作为计算机应用的一部分使用计算机对学生学籍进行管理具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高学生学籍管理的效率也是企业的科学化、正规化管理与世界接轨的重要条件本系统是一个典型的信息管理系统,主要完成对学生基本信息、班级信息、课程信息、成绩信息等多种数据信息的管理,包括数据库中表的录入、修改、删除等系统还可以完成对各类信息的查询、录入、修改、删除等功能,其中学籍管理用户包括系统管理员、普通用户,普通用户包括教师和学生由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂因此,比较适合于采用数据库管理本系统是在Win7系统的环境下开发的,所采用的开发语言是Java语言,使用的开发工具为:MyEclipse
6.0,采用MicrosoftSQLServer2008数据库管理系统2系统分析与设计
2.1功能及性能分析
2.
1.1功能需求在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大而且效率也是很低的所以如何自动高效地管理信息是这些年来许多人所研究的随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展我们使用电脑的高效率才处理数据信息成为可能学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手学生学籍管理系统,以SQL数据库作为后台信息存储,Java作为前台系统的语言提供了对学生信息添加,查询,修改,删除的功能实现了最基本的信息管理
2.
1.2工作流程图
2.2系统的开发运行环境本系统开发平台:JAVA+SQLServer2008本系统运行环境:Win
72.3系统总体设计
2.
3.1系统设计思想
1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果
2.系统满足学校的需求,例如学生信息的录入、查询、更新等管理员对用户的查询、增加、删除等
3.系统应具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作
2.
3.2学校工作流程分析学校工作总体规划由教务人员在学生学籍信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个辅导员及,并对各科老师进行安排每举行一次考试后由任课老师对本科的成绩进行录入,上交教务处,汇总,并进行排名,由教务处再进行汇总,并对各班级各科成绩及总成绩进行排名教务处、辅导员及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询
2.
3.3用户具体需求分析普通用户对各科成绩的查询及查看所有学生的成绩以及所有学生的信息,修改用户密码系统管理员能够浏览所有用户信息,能添加删除用户,修改密码,新生入学还能够添加修改新生的学籍信息,删除毕业生的学籍信息,对所有院系的课程进行安排,能够进行各班级管理,还能对学生成绩进行添加、修改、查询等管理
2.
3.4系统设计分析本系统功能主要分为六大类用户管理用于对用户的添加删除,赋予不同权限及对用户密码的修改及查询课程管理用于对各学期课程的开设、修改、查询和删除成绩管理用于对成绩的添加、修改、查询和删除班级管理用于对班级的添加、修改、查询和删除帮助信息用于对本系统的具体操作进行详解
2.
3.5系统权限分析权限功能为用户设置权限功能,可分为普通用户,系统管理员普通用户只是查询不能修改,系统管理员能修改、删除所有信息录入功能系统没有为普通用户提供相应的录入功能,为系统管理员提供对所有信息的录入功能查询功能为所有用户提供查询的功能,可查询允许范围内的所有信息维护功能为普通用户提供查询及相应的修改功能,为系统管理员提供对所有信息的修改删除功能帮助功能能帮助初次使用者对本系统的应用及处理常见的问题退出功能结束并关闭系统3数据库设计
3.1数据库概念结构概念结构的实际是整个数据库设计的关键,这个阶段主要的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于DBMS的概念模型(E-R图)它的主要特点是
1.能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
2.易于理解,因此可以用它和不熟悉计算机的用户交换意见;
3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
4.易于向关系、网状、层次等各种数据模型转换
3.2E-R图
1.分E-R图#0;#0;#0;课程课程名课程描述课程编号课程类型e图
3.1分E-R图
2.系统的总体E-R图
3.3数据库逻辑结构这个阶段的任务就是把概念结构设计阶段设计好的基本E-R图转换为与DBMS所支持的数据模型相符合的逻辑结构在这个阶段里,该系统的目标就是把基本的E-R图转换成关系数据模型通过转换,得到的所需的数据表如下,其中,有下划线的属性为主键学生(姓名,性别,学号,班级号,出生日期,入学日期,家庭住址,备注)班级(班级号,年级,辅导员,自习室)用户(用户名,密码,权限)课程(课程名,课程编号,课程类型,课程描述)成绩(学生姓名,学号,班级名称,课程名,分数)
3.4流程图
1.系统流程图#0;#0;#0;#0;#0;#0;#0;开始登陆成功?课程信息增删改查学生信息增删改查学生成绩增删改查登出结束YN图
3.2系统流程图
2.分模块流程图
(1)录入模块流程图#0;#0;#0;#0;#0;查询条件满足条件数据库显示结果退出不符合条件图
3.3录入模块流程图
(2)系统管理模块流程图#0;#0;#0;#0;#0;系统维护普通用户修改密码增加或删除用户退出管理员用户图
3.4系统维护模块流程图3查询模块流程图#0;#0;#0;#0;#0;用户继续?显示出错信息修改增加记录查找记录退出查找成功继续?是是否否图
3.5查询模块流程图
3.5数据字典
3.6物理结构设计根据逻辑关系模型可直接设计基于某种数据库管理系统支持的物理结构,我们知道关系数据库是由表构成的,所以依据系统用户信息、学生基本信息、班级信息、课程信息和成绩信息在数据库中建立相应的表本系统采用的后台数据库是MicrosoftSQLServer2008数据库系统,根据学籍管理系统的数据字典,设计出学籍管理系统数据库中各个数据表,本数据库名称为“student”,其中包含五张表,它们分别是学生基本信息数据表,班级信息数据表,课程信息数据表,成绩信息数据表,用户登陆信息数据表
1.学生基本信息数据表,包括学生的学号、姓名、性别、生日、家庭地址、联系电话,入学日期,还有所在的系与班级,便于管理和查询学生的基本信息表
3.
6.1学生基本信息数据表
2.班级信息数据表,包括班级号、年级、辅导员、自习教室,设置为字符型表
3.
6.2班级数据信息表
3.班级信息数据表,包括班级名称及所在的年级,均设为字符型表
3.
6.3班级信息数据表
4.课程信息数据表,包括课程的编号、课程名称、课程类型及一些课程描述表
3.
6.4课程信息数据表
5.成绩信息数据表,包括考试科目编号、姓名、班级、学号、分数,便于成绩查询表
3.
6.5成绩信息数据表
6.用户信息数据表,包括用户名、密码以及用户的权限表
3.
6.6用户信息数据表
3.7安全性设计该系统的用户只有两种,一种是普通用户,对各科成绩的查询及查看所有学生的成绩以及所有学生的信息,修改用户密码另一种系统管理员,能够浏览所有用户信息,能添加删除用户,修改密码,新生入学还能够添加修改新生的学籍信息,删除毕业生的学籍信息,对所有院系的课程进行安排,能够进行各班级管理,还能对学生成绩进行添加、修改、查询等管理,管理员具有对数据库操作的所有权限4详细设计与实现
4.1系统设计例图用例图是对系统需求的描述,表达了系统的功能和所提供的服务,包括学生信息管理子系统、系统信息管理子系统、课程管理子系统、班级管理子系统、成绩管理子系统,如图所示活动图活动图可以用来描述工作流和并发处理行为,表达从一个活动到另一个活动的控制流,描述的是响应内部处理的对象类的行为在本系统中,首先登陆学籍管理系统,输入其用户名和密码,若用户名和密码有误则返回,否则进入下一步,普通用户和管理员用户的功能各不同相同如图
2.20所示#0;开始用户登陆普通用户操作管理员操作系统主页成功?失败成功修改密码查看课程查看成绩查看个人信息学籍管理班级管理课程管理成绩管理查看增删改查看增删改查看增删改查看增删改退出系统系统活动图数据流图本系统从总体上分为系统信息管理、学生信息管理、课程管理、班级管理和成绩管理五大部分每个模块有自己的作用下面的各模块功能流图就是由各功能之间的关系而得出的
1.系统管理数据流图系统管理人员学生学生信息产生学生信息清单学籍更新学生信息清单学生信息学生信息学籍学生信息学生学籍数据表删除添加学生系统管理数据流图
2.学生信息数据流图系统管理人员学生统计学生信息班级信息录入课程信息录入成绩信息班级信息课程信息产生学籍数据库成绩信息录入学生信息录入成绩统计班级统计课程管理学生信息成绩信息班级信息课程信息产生学生数据表产生成绩数据表产生班级数据表产生课程数据表学生信息统计成绩信息统计班级信息统计课程信息统计系统管理人员课程数据表成绩数据表班级数据表学生数据表学生信息数据流图
3.课程管理数据流图系统管理人员课程统计课程信息课程表产生课程数据表各班级辅导员班级课程课程设置课程管理数据流图
4.班级管理数据流图系统管理人员班级统计班级信息产生班级数据表各班级辅导员产生学生数据表年级信息班级数据表各班信息学生数据表班级信息录入班级管理数据流图
5.成绩管理数据流图系统管理人员查询信息成绩信息按学号查询按科目查询按班号查询学号科目班号成绩更新成绩排名更新成绩数据表成绩查询教务处成绩排名更新成绩表更新成绩修改成绩删除按学号删除成绩信息成绩信息修改信息删除信息按科目删除按班号删除按学号修改按科目修改按班号修改学号科目班号学号科目班号更新更新成绩管理数据流图从以上数据流图中可以看出学生信息管理系统所需完成具体的功能系统管理模块用户的添加、删除、浏览及权限的赋予学生信息管理模块输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果班级信息管理模块输入班号、教室号、班主任等信息,并可以对班级信息进行添加、修改、查询、删除包括班号、教室号、班主任、年级的录入及修改输出班号、教室号、班主任年级等信息成绩信息管理模块输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等输出查询的学生成绩信息课程信息管理模块输入课程的基本信息,并可以对课程信息进行添加、修改、删除及课程设置课程设置能够对各年级的课程进行分类划分学期所学的课程输出课程的基本信息、年级及学期中所要学的课程等
4.2登陆模块
4.
2.
1.程序基本界面:用户有两个111和222,密码都是123添加一个学生数据查看数据库添加的内容修改其中一个数据显示修改后的数据库删除其中一个数据5总结课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程回顾这次学生学籍信息管理系统的设计,从选题,到需求分析、设计、编码实现、测试等,报告的撰写,这一系列连贯的过程,至今我仍感慨颇多,收获也很多但是可以学到很多很多的新东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,书本上和课堂上的东西远远不能满足我们需要,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力在设计的过程中遇到的问题,可以说得是困难重重,毕竟我们是第一次课程设计,难免会遇到过各种各样的问题,比如数据库与java的连接,数据的创建,首先要画出E-R图,然后分析内在联系,接着是逻辑结构设计,这个阶段的任务就是把概念结构设计阶段设计好的基本E-R图转换为与DBMS所支持的数据模型相符合的逻辑结构在这个阶段里,该系统的目标就是把基本的E-R图转换成关系数据模型画出流程图,分析数据字典,物理结构设计,创建各种表,这些都要静心做,认真思考还有就是java界面的设计,先是创建各个模拟界面,同时把各项功能连接数据库,通过界面可以修改数据库通过这次学生学籍信息管理系统的设计,让我了解了更多,一个程序不仅仅是写代码,还需要先做需求的分析,数据的设计,用户界面的设计等等同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固等等经过这次的课程设计我会在以后的时间里努力的学习一些课外的知识不能仅仅局限在课堂上通过这次设计我在学会独立思考的同时,更懂得了要虚心向同学请教,这样可以达到事半功倍的效果6参考文献【1】张海藩.软件工程导论.清华大学出版社.2008年.【2】刘振安,董兰芳,刘燕君.面向对象技术与UML.机械工业出版社.2008年.【3】印旻,王行言,Java语言与面向对象程序设计.清华大学出版社.2007年.【4】王珊,萨师煊.数据库系统概述.高等教育出版社.2009年.7附录
7.1程序清单importjava.awt.Container;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JComponent;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPasswordField;importjavax.swing.JTextField;classDataBase{//DataBase类publicvoidAddStringxhStringxmStringxbStringxyStringbjStringjgthrowsSQLException{try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where学号=+xh+;r.last;ifr.getRow==1{JOptionPane.showMessageDialognull该学号的学生信息已存在;}elseifxh.equals{JOptionPane.showMessageDialognull学号不能为空;}else{s.executeUpdateinsertinto学籍管理系统values+xh++xm++xb++xy++bj++jg+;s.close;c.close;JOptionPane.showMessageDialognullhtml+学号:+xh+br+姓名:+xm+br+性别:+xb+br+学院:+xy+br+班级:+bj+br+籍贯:+jg+br学生记录添加成功!;}}catchExceptione{JOptionPane.showMessageDialognull数据添加异常!;}}publicvoidDisplayAllResultSetr{try{r.last;System.out.println数据库表共有+r.getRow+行记录;r.beforeFirst;whiler.next{System.out.print第+r.getRow+行记录:;System.out.print学号为+r.getString学号;System.out.print姓名为+r.getString姓名;System.out.print性别为+r.getString性别;System.out.print学院为+r.getString学院;System.out.print班级为+r.getString班级;System.out.println籍贯为+r.getString籍贯;}}catchExceptione{}}publicvoidDisplayOneStringstr22throwsException{try{Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where学号=+str22+;r.last;intcc=r.getRow;ifcc==0{JOptionPane.showMessageDialognull未查询到相关信息!;}else{r.beforeFirst;whiler.next{JOptionPane.showMessageDialognullhtml+学号:+r.getString学号+br+姓名:+r.getString姓名+br+性别:+r.getString性别+br+学院:+r.getString学院+br+班级:+r.getString班级+br+籍贯:+r.getString籍贯+br已查询到相关记录!;}}}catchExceptione{}}publicvoidDeleteXhStringstr11{try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where学号=+str11+;r.last;ifr.getRow==1{s.executeUpdatedeletefrom学籍管理系统where学号=+str11+;JOptionPane.showMessageDialognull学生记录删除成功!;}else{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;}}catchExceptione{}}publicvoidDeleteXmStringstr13{try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where姓名=+str13+;r.last;ifr.getRow==1{s.executeUpdatedeletefrom学籍管理系统where姓名=+str13+;JOptionPane.showMessageDialognull学生记录删除成功!;}else{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;}}catchExceptione{}}publicvoidUpdateXhStringxgStringstr15Stringstr16{try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where学号=+xg+;r.last;ifr.getRow==1{s.executeUpdateupdate学籍管理系统set+str15+=+str16+where学号=+xg+;JOptionPane.showMessageDialognull学生记录修改成功!;}else{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;};}catchExceptione{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;}}publicvoidUpdateXmStringstr18Stringstr19Stringstr20{try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统where姓名=+str18+;r.last;ifr.getRow==1{s.executeUpdateupdate学籍管理系统set+str19+=+str20+where姓名=+str18+;//直接执行SQL语句修改JOptionPane.showMessageDialognull学生记录修改成功!;}else{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;};}catchExceptione{JOptionPane.showMessageDialognull学籍系统中并无相关记录!;}}}classJ_ActionListener1extendsJFrameimplementsActionListener//创建J_ActionListener1类监听功能选项面板显示已有学生信息的按钮{publicvoidactionPerformedActionEvente{JButtonb1=JButtone.getSource;Objectaa=JOptionPane.showInputDialognull请选择按何种方式查询选择JOptionPane.QUESTION_MESSAGEnullnewString[]{显示所有学生记录查询某个学生记录}显示所有学生记录;ifaa==显示所有学生记录{try{Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;ResultSetr=s.executeQueryselect*from学籍管理系统;DataBasea=newDataBase;a.DisplayAllr;}catchSQLExceptione1{}}else{try{Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE;DataBasea=newDataBase;Stringstr11=JOptionPane.showInputDialog请输入要查询的记录的学号;a.DisplayOnestr11;}catchExceptione1{}}}}classJ_ActionListener2extendsJFrameimplementsActionListener{publicvoidactionPerformedActionEvente{JButtonb2=JButtone.getSource;try{newJ_ActionListener6;}catchExceptione2{}}}classJ_ActionListener6extendsJ_ActionListener2implementsActionListener{DataBasea=newDataBase;JTextFieldjtf1=newJTextField;JTextFieldjtf2=newJTextField;JTextFieldjtf3=newJTextField;JTextFieldjtf4=newJTextField;JTextFieldjtf5=newJTextField;JTextFieldjtf6=newJTextField;JButtonbtn=null;J_ActionListener6{this.setTitle请输入数据:;//创建框架的标题this.setBounds250100220320;//框架的大小和坐标this.setResizablefalse;this.setVisibletrue;this.setLayoutnull;JLabeljlb1=newJLabel学号;//创建学号的标签jlb
1.setBounds432310025;this.addjlb1;JLabeljlb2=newJLabel姓名;jlb
2.setBounds435810025;this.addjlb2;JLabeljlb3=newJLabel性别;jlb
3.setBounds439310025;this.addjlb3;JLabeljlb4=newJLabel学院;jlb
4.setBounds4312810025;this.addjlb4;JLabeljlb5=newJLabel班级;jlb
5.setBounds4316310025;this.addjlb5;JLabeljlb6=newJLabel籍贯;jlb
6.setBounds4319810025;this.addjlb6;jtf
1.setBounds802510025;this.addjtf1;jtf
2.setBounds806010025;this.addjtf2;jtf
3.setBounds809510025;this.addjtf3;jtf
4.setBounds8013010025;this.addjtf4;jtf
5.setBounds8016510025;this.addjtf5;jtf
6.setBounds8020010025;this.addjtf6;btn=newJButton添加;btn.setBounds682458030;//设置按钮的大小和位置this.addbtn;//将按钮添加进面板里btn.addActionListenerthis;JComponentthis.getContentPane.setOpaquefalse;java.net.URLurl=JavaSql.class.getResource
4.jpg;ImageIconimg=newImageIconurl;JLabelbackground=newJLabelimg;this.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;background.setBounds00img.getIconWidthimg.getIconHeight;}publicvoidactionPerformedActionEvente{JButtonbtn=JButtone.getSource;Stringxh=jtf
1.getText;Stringxm=jtf
2.getText;Stringxb=jtf
3.getText;Stringxy=jtf
4.getText;Stringbj=jtf
5.getText;Stringjg=jtf
6.getText;try{a.Addxhxmxbxybjjg;this.setVisiblefalse;}catchSQLExceptione1{}}}classJ_ActionListener3extendsJFrameimplementsActionListener//创建J_ActionListener3监听功能面板”修改已有学生信息“的按钮{finalDataBasea=newDataBase;JFramexiugai=newJFrame;Stringb=null;publicvoidjiemian{//在J_ActionListener3类里添加jiemian方法,创建按学号修改数据的界面this.setTitle请输入数据:;this.setSize230320;this.setLocation200130;this.setResizablefalse;this.setVisibletrue;JLabeljlb1=newJLabel请输入要修改的学生的+b;//设置3个标签JLabeljlb2=newJLabel请输入要修改的属性;JLabeljlb3=newJLabel请输入新的数据;finalJTextFieldjtf1=newJTextField;//设置三个文本框finalJTextFieldjtf2=newJTextField;finalJTextFieldjtf3=newJTextField;JButtonxg=newJButton修改;//创建”修改“按钮Containerc=getContentPane;c.setLayoutnull;jlb
1.setBounds201517030;c.addjlb1;jlb
2.setBounds208017030;c.addjlb2;jlb
3.setBounds2014517030;c.addjlb3;jtf
1.setBounds204517030;c.addjtf1;jtf
2.setBounds2011017030;c.addjtf2;jtf
3.setBounds2018017030;c.addjtf3;xg.setBounds802306035;c.addxg;xg.addActionListenernewActionListener//为”修改“按钮添加事件触发{publicvoidactionPerformedActionEvente//当修改的按钮被点击时执行{JButtonxg=JButtone.getSource;Stringxuehao=jtf
1.getText;//获取文本框的数据Stringshuxin=jtf
2.getText;Stringxinshuju=jtf
3.getText;a.UpdateXhxuehaoshuxinxinshuju;setVisiblefalse;;}};JComponentthis.getContentPane.setOpaquefalse;//设置背景图片java.net.URLurl=JavaSql.class.getResource
3.jpg;ImageIconimg=newImageIconurl;JLabelbackground=newJLabelimg;this.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;background.setBounds00img.getIconWidthimg.getIconHeight;}publicvoidjiemian2{//在J_ActionListener3类里添加jiemian2方法,创建按姓名修改数据的界面this.setTitle请输入数据:;this.setSize230320;this.setLocation200130;this.setResizablefalse;this.setVisibletrue;JLabeljlb1=newJLabel请输入要修改的学生的+b;//设置3个标签JLabeljlb2=newJLabel请输入要修改的属性;JLabeljlb3=newJLabel请输入新的数据;finalJTextFieldjtf1=newJTextField;//设置三个文本框finalJTextFieldjtf2=newJTextField;finalJTextFieldjtf3=newJTextField;JButtonxg=newJButton修改;//创建”修改“按钮Containerc=getContentPane;c.setLayoutnull;jlb
1.setBounds201517030;c.addjlb1;jlb
2.setBounds208017030;c.addjlb2;jlb
3.setBounds2014517030;c.addjlb3;jtf
1.setBounds204517030;c.addjtf1;jtf
2.setBounds2011017030;c.addjtf2;jtf
3.setBounds2018017030;c.addjtf3;xg.setBounds802306035;c.addxg;xg.addActionListenernewActionListener//为”修改“按钮添加事件触发{publicvoidactionPerformedActionEvente//当修改的按钮被点击时执行{JButtonxg=JButtone.getSource;Stringxinming=jtf
1.getText;//获取文本框的数据Stringshuxin=jtf
2.getText;Stringxinshuju=jtf
3.getText;a.UpdateXmxinmingshuxinxinshuju;setVisiblefalse;;}};JComponentthis.getContentPane.setOpaquefalse;//设置背景图片java.net.URLurl=JavaSql.class.getResource
3.jpg;ImageIconimg=newImageIconurl;JLabelbackground=newJLabelimg;this.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;background.setBounds00img.getIconWidthimg.getIconHeight;}publicvoidactionPerformedActionEvente{JButtonb3=JButtone.getSource;//当主功能选项面板的”修改已有学生信息“的按钮被点击时执行Objectaa=JOptionPane.showInputDialognull请选择按何种方式修改选择//弹出窗口让用户选择按何种方式进行修改JOptionPane.QUESTION_MESSAGEnullnewString[]{学号姓名}学号;ifaa==学号{//当用户选择按”学号“修改时执行b=学号;this.jiemian;}ifaa==姓名{//当用户选择按”姓名“修改时执行b=姓名;this.jiemian2;}}}classJ_ActionListener4implementsActionListener{//创建J_ActionListener2类监听功能选项面板添加新的学生信息的按钮publicvoidactionPerformedActionEvente{JButtonb4=JButtone.getSource;DataBasea=newDataBase;//实例化DataBase类Objectaa=JOptionPane.showInputDialognull请选择按何种方式删除选择JOptionPane.QUESTION_MESSAGE//弹出窗口让用户选择按何种方式进行删除nullnewString[]{学号姓名}学号;ifaa==学号{Stringstr11=JOptionPane.showInputDialog请输入要删除的记录的学号;//当用户选择按”学号“删除时执行a.DeleteXhstr11;//执行DataBase类的DeleteXh方法}else{Stringstr13=JOptionPane.showInputDialog请输入要删除的记录的姓名;//当用户选择按”姓名“修改时执行a.DeleteXmstr13;//执行DataBase类的DeleteXm方法}}}classJ_ActionListener5implementsActionListener{//创建J_ActionListener2类监听功能选项面板关于学籍管理系统的按钮publicvoidactionPerformedActionEvente//按钮被点击执行{JButtonb5=JButtone.getSource;JOptionPane.showMessageDialognull******本系统由刘真成制作******\n************日期2013年1月15号************;}}publicclassJavaSqlextendsJFrameimplementsActionListener{//主类JavaSql//添加设置用户名和密码输入的图形界面JFramedenglu=newJFrame登录;//创建”登录“的框架JButtonquedin=newJButton确定;//创建”确定“按钮JLabelt1=newJLabel管理员号;//创建标签”管理员号“JTextFieldt2=newJTextFieldnull15;//创建管理员号的输入栏JLabelt3=newJLabel登录密码;//创建标签登录密码JTextFieldt4=newJPasswordFieldnull15;//创建登录密码的输入栏publicvoidinit{//在数据库中创建一张”学籍管理系统“表try{Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;Connectionc=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;DatabaseName=StudentManagersa125521;Statements=c.createStatement;s.executeUpdatecreatetable学籍管理系统+学号char15CONSTRAINTauthIndexPRIMARYKEY+姓名char10+性别char4+学院char8+班级char8+籍贯char5;s.close;c.close;System.out.println********欢迎使用学籍管理系统**********;}catchExceptione//该表已存在{System.out.println********欢迎使用学籍管理系统**********;}}publicvoidzhujiemian//定义jiemian的方法,创建主功能的图形界面{Containerc=getContentPane;//设置主功能界面的按钮的大小和坐标位置c.setLayoutnull;JButtonb1=newJButton显示已有学生信息;b
1.setBounds101016030;JButtonb2=newJButton添加新的学生信息;b
2.setBounds104516030;JButtonb3=newJButton修改已有学生信息;b
3.setBounds108016030;JButtonb4=newJButton删除已有学生信息;b
4.setBounds1011516030;JButtonb5=newJButton关于学籍管理系统;b
5.setBounds1015016030;JButtonb6=newJButton退出学籍管理系统;b
6.setBounds1018516330;J_ActionListener1a1=newJ_ActionListener1;//实例化各个按钮监听的类J_ActionListener2a2=newJ_ActionListener2;J_ActionListener3a3=newJ_ActionListener3;J_ActionListener4a4=newJ_ActionListener4;J_ActionListener5a5=newJ_ActionListener5;b
1.addActionListenera1;b
2.addActionListenera2;b
3.addActionListenera3;b
4.addActionListenera4;b
5.addActionListenera5;b
6.addActionListenernewActionListener//为”退出学籍管理系统“的按钮添加事件监听触发{publicvoidactionPerformedfinalActionEvente{System.exit0;//该按钮点击时,退出学籍管理系统}};c.addb1;//将按钮逐个添加到面板里c.addb2;c.addb3;c.addb4;c.addb5;c.addb6;}publicvoiddenglumenu{denglu.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;//设置登录界面的按钮标签的的大小和具体坐标位置denglu.setSize680530;denglu.setTitleDB课程设计---刘真成;denglu.setVisiblefalse;denglu.setLocation200200;Containern=denglu.getContentPane;n.setLayoutnull;t
1.setBounds4052287025;t
2.setBounds47022812025;t
3.setBounds4052707025;t
4.setBounds47027012025;quedin.setBounds4703226335;n.addt1;//将登陆界面的按钮和标签添加到登录的面板里n.addt2;n.addt3;n.addt4;denglu.addquedin;denglu.setVisibletrue;quedin.addActionListenerthis;JComponentdenglu.getContentPane.setOpaquefalse;//设置登录图形界面的背景图片java.net.URLurl=JavaSql.class.getResource
1.jpg;ImageIconimg=newImageIconurl;JLabelbackground=newJLabelimg;this.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;denglu.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;background.setBounds00img.getIconWidthimg.getIconHeight;}publicvoidactionPerformedActionEvente{//当登录界面的确定按钮被点击时ife.getSource==quedin{//对输入的管理员号和密码进行验证Stringzh=111;Stringzh1=222;Stringmm=123;Stringming=t
2.getText;ifming.equalszh||ming.equalszh1{Stringmima=t
4.getText;ifmima.equalsmm{this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;//验证通过则调用zhujiemian方法this.setSize640480;this.setLocation200200;this.setVisibletrue;zhujiemian;JComponentthis.getContentPane.setOpaquefalse;//主界面的背景图片java.net.URLurl=JavaSql.class.getResource
2.jpg;ImageIconimg=newImageIconurl;JLabelbackground=newJLabelimg;this.getLayeredPane.addbackgroundnewIntegerInteger.MIN_VALUE;background.setBounds00img.getIconWidthimg.getIconHeight;denglu.setVisiblefalse;}else{JOptionPane.showMessageDialognull密码输入错误!;}//验证失败,弹出错误的提示!}else{JOptionPane.showMessageDialognull学号输入错误!;}}}publicstaticvoidmainStringargs[]{//主方法JavaSqlapp=newJavaSql;//实例化JavaSql类app.init;//为数据库创建学籍管理系统表app.denglumenu;//执行登陆界面}}。