学生信息管理系统+java实现.docx
- 文档编号:11025747
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:26
- 大小:1.89MB
学生信息管理系统+java实现.docx
《学生信息管理系统+java实现.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统+java实现.docx(26页珍藏版)》请在冰豆网上搜索。
学生信息管理系统+java实现
第6章实现
该系统由3个大模块构成,包括管理员主界面模块、学生信息管理主界面模块、教师信息管理主界面模块。
下面分别加以叙述:
6.1学生管理系统管理员登陆主界面模块
学生管理系统主界面模块为ManagerFrame.java文件。
SimpleStudentManager是学生管理系统的主运行类,其有运行整个程序的main方法,main()方法调用DLFrame.java类实现学生管理系统的登陆界面,如图6.1所示。
图6.1登陆界面
if(txtUser.getText().equals("12"))
{
if(txtPwd.getText().equals("12"))
{
actionCode=OK;
this.setVisible(false);
if(qxian==0){
newManagerFrane();//进入管理员界面
}
if(qxian==1){
newStudentFrame();//进入学生界面
}
if(qxian==2){
newTecahercFrame();//进入教师管理界面
}
success=true;
break;
}
else{
JOptionPane.showMessageDialog(null,"密码错误!
");txtPwd.setText("");
success=true;
}
6.2管理员界面
管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等功能操作,其具体界面设计如下图6.2所示。
管理员信息管理模块主要由
ManagerFrame.java,SM.java,CM.java,SCM.jav—a,GM.java,PM.java共计6个文件其组成,构成关系如图6.3所示
图6.2管理员管理界面
此界面设计见代码,主要通过以下监听器实现
publicvoidactionPerformed(ActionEvente)
{
if(e.getActionCommand()=="学生信息管理")newSM().display();
if(e.getActionCommand()=="课程信息管理"){
newCM("课程信息管理").display();
}
if(e.getActionCommand()=="选课信息管理"){newSCM("选课信息管理").display();
}
if(e.getActionCommand()=="成绩信息管理"){newGM("成绩信息管理").display();
}
if(e.getActionCommand()=="用户信息管理"){newPM("用户信息管理").display();
}
if(e.getActionCommand()=="退出管理系统"){System.exit(0);
}
图6.3
6.2.1学生信息管理
(1)显示
图6.4学生信息显示
(2)查询:
查询学号为201220020135的学生信息
图6.5
图6.6
(3)修改:
将杨国欣的年龄改为20
图6.7
图6.8
图6.9
(4)删除:
将王思嘉的信息删除
图6.10
(5)增加
图6.11
图6.12
图6.13
6.2.2课程信息管理
(1)显示
图6.14
(2)增加
图6.15
(3)查询:
课程号为2的课程信息
图6.16
图6.17
(4)删除:
删除数学课程的信息
图6.18
(5)修改:
将课程名为“数学”改为“高数”
图6.19
图6.20
6.2.3选课信息管理
(1)显示
图6.21
(2)查询
图6.22
图6.23
6.2.4成绩信息管理
(1)显示
图6.24
(2)查询
图6.25
图6.26
(3)修改成绩:
将学号为201220020135的数据库成绩改为89,结果如图
图6.27
图6.28
图6.29
6.2.5用户信息查看
图6.30
6.3学生信息管理
学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作,其具体界面设计如下图31所示。
学生信息管理这模块都是通过输入学号显示出相应的信息。
以下均通过查询学号为201220020135学生的信息为主。
图6.33
学生信息管理模块主要由
StudentFrame.java,StudentS.java,StudentSelect.ja—va,PPSelect.java共计4个文件其组成,具体代码如下,构成关系如图34所示
packagexuesheng;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classStudentFrameextendsJFrameimplementsActionListener{JPanelp1=newJPanel();
JPanelp2=newJPanel();
JButtonbtns=newJButton("学生信息查看");
JButtonbtng=newJButton("成绩信息查看");
JButtonbtnu=newJButton("个人信息管理");
JButtonbtnClose=newJButton("退出管理系统");
JLabell=newJLabel("学生");
StudentFrame(){
super("学生信息管理系统");
setSize(350,200);
add("North",p1);
add("Center",p2);
p1.add(l);
p2.add(btns);
p2.add(btng);
p2.add(btnu);
p2.add(btnClose);
btns.addActionListener(this);
btng.addActionListener(this);
btnu.addActionListener(this);
btnClose.addActionListener(this);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand()=="学生信息查看"){newStudentS();
}
if(e.getActionCommand()=="成绩信息查看"){newStudentSelect();
}
if(e.getActionCommand()=="个人信息管理"){PPSelectppst=newPPSelect();
}
if(e.getActionCommand()=="退出管理系统"){System.exit(0);
}
}
}
图6.34
6.3.1学生信息查看
图6.35
6.3.2成绩信息查看
图6.36
6.3.3个人信息管理
6.4教师信息管理
图6.37
6.5数据库操作模块
6.5.1链接数据库的代码
数据库操作模块由Database.java、StuBean.java、CrsBean.java和csBean.java这4个文件组成,功能包括连接数据库、执行数据库操作(对学生信息、课程信息和成绩信息进行插入、修改、删除和读取)和关闭数据库连接。
连接数据库的主要代码如下:
publicvoidconnDB(){//连接数据库
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
try{
con=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=student",
"sa","123");
stmt=con.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoidcloseDB()//关闭连接
{
try{
stmt.close();
con.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoiditemStateChanged(ItemEvente){
if(e.getStateChange()==ItemEvent.SELECTED){
JComboBoxjcb=(JComboBox)e.getSource();
qxian=jcb.getSelectedIndex();
}
}
6.5.2数据库中的数据
图6.38
图6.39
图6.40
图6.41
6.6程序类的设计
SimpleStudentManager
图6.42
主函数类
DLFrame
ManagerFrane
StudentFrame
SM
SAdd
SSelect
CM
CAdd
CSelect
SCM
SCSelect
GM
GAdd
GSelect
PM
UAdd
PSelect
StudentS
StudentSelect
PPM
PPSelect
登陆界面类
管理员界面类
学生界面类
学生信息管理的类
用于学生信息管理中增加或修改某条记录的界面的类用于学生基本信息管理中查询时输入学号的界面的类课程信息管理的类
用于课程信息管理中增加或修改某条记录的界面的类用于课程信息管理中查询时输入课程号的界面的类选课信息管理的类
用于选课信息管理中查询时输入学号的界面的类成绩信息管理的类
用于成绩信息管理中修改成绩的界面的类
用于成绩信息管理中查询时输入学号的界面的类用户信息管理的类
用于用户信息管理中修改密码的界面的类
用于用户信息管理中查询时输入用户名的界面的类用于学生信息查看时输入学号的界面的类
用于成绩信息查看时输入学号的界面的类
个人信息管理的类
用于个人信息管理查询时输入用户名的界面的类
程序类的具体代码实现见工程文件夹中的代码及注释
6.7系统的使用说明及环境配置
学生信息管理系统提供了管理员,学生,教师这三个角色登录系统,管理
员,学生,教师均通过用户名:
12
密码:
12登录系统后可以进行相应的操作。
数据库:
SQLServer2012
连接数据库的登录名:
sa密码:
FY6850320
6.8系统调试常见错误
6.8.1.NullPointerException异常
一般是对一个为NULL值的变量进行操作引起的。
为避免这种异常,最好在对变量操作之前检查,看它是否为NULL值。
6.8.2SQLException异常
一般是由于SQL语句不正确引起的。
为避免这种异常,最好在使用SQL语句的程序中捕获此SQL异常。
6.8.3NumberFormatException异常
这是由于数字的格式错误而出现的例外。
为了避免出现此类错误,一般必须保证数据格式输入正确。
6.8.4数据库连接垃圾回收
在实际的开发应用中,通常出现某一个对象未能关闭的情况,为了防止这种情况的发生,可以在有关对数据库操作的Java类文件中增加自动回收函数,在JVM自动地回收对象时,取出使用的连接对象,判断是否关闭,如果没有关闭则关掉。
代码如下所示:
protectedvoidfinalize()
{try{
If(getConn()!
=null&&!
getConn().isClosed())
{rs.cloes();
stm.close();
conn.close();
}
}catch(SQLExceptione){}}
小组总结
经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课题中得到的经验、心得和锻炼。
本系统实现了信息化管理学生信息,能够行信息存储、查询、修改等能功。
该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。
通过这些模块的有机结合,能方便的对学生信息进行综合管理,从而实现了信息化管理的目的。
由于本人的能力有限,设计过程中难免有不足之处,例如:
没有登陆界面、没有区分用户身份及密码服务、数据库设计相对简单等。
这些设计中的存在问题,本人将在日后进一步修改,以便让程序的设计更加完善。
参考文献
[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:
高等教育出版社[2]张广彬,梦红蕊、张永宝编著.Java课程设计案例精编.北京:
清华大学
出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 java 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)