JAVA+SQL学生学籍管理系统代码及实验报告.docx
- 文档编号:5589187
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:45
- 大小:467.87KB
JAVA+SQL学生学籍管理系统代码及实验报告.docx
《JAVA+SQL学生学籍管理系统代码及实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA+SQL学生学籍管理系统代码及实验报告.docx(45页珍藏版)》请在冰豆网上搜索。
JAVA+SQL学生学籍管理系统代码及实验报告
学生学籍管理系统
1课程设计目的、设计内容与需求分析
1.1课程设计目的
通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。
1.2软件设计内容
学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台SQL数据库的连接。
Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
该系统实现的大致功能:
1.管理员登陆界面。
该界面可以输入管理员号,登陆密码。
用户通过验证通过后方可进入管理系统。
一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。
2.查询学生信息。
可以选择由用户选择“显示系统中当前的所有学生信息”。
也可以选择按照“某一个学号查询该学号的学生信息”。
查询到的信息会在窗口中依次显示出来。
3.添加学生信息。
可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
完成新纪录的添加。
4.修改学生信息。
可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。
完成对学生记录的修改。
5.删除学生记录。
可以根据输入的“学号”或者”姓名”进行删除的操作。
1.3需求分析
在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。
而且效率也是很低的。
所以如何自动高效地管理信息是这些年来许多人所研究的。
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。
我们使用电脑的高效率才处理数据信息成为可能。
学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
学生学籍管理系统,以SQL数据库作为后台信息存储,Java作为前台系统的语言。
提供了对学生信息添加,查询,修改,删除的功能。
实现了最基本的信息管理。
2设计思路与主功能设计
2.1设计思路
2.1.1开发环境和软件
(1)操作系统:
Windows7
(2)数据库软件:
SQLServer2005
(3)Java开发工具:
Eclipse
2.1.2SQL数据库表结构
2.1.3程序系统设计图
学生学籍管理系统
登录
登录验证
失败
成功
退出
查询
添加
修改
删除
显示
2.1.4功能模块说明:
1).管理员登陆界面。
该界面可以输入管理员号,登陆密码。
用户通过验证通过后方可进入管理系统。
一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。
2).查询学生信息。
可以选择由用户选择“显示系统中当前的所有学生信息”。
也可以选择按照“某一个学号查询该学号的学生信息”。
查询到的信息会在窗口中依次显示出来。
3).添加学生信息。
可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
完成新纪录的添加。
4).修改学生信息。
可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。
完成对学生记录的修改。
5).删除学生记录。
可以根据输入的“学号”或者”姓名”进行删除的操作。
6).显示学生信息。
可以显示所有学生的信息、以供查看。
2.2功能设计与介绍
1)、添加学生信息
2)、修改学生信息
3)、查询学生信息
4)、删除学生信息
5)、显示学生信息
6)、退出管理系统
3具体功能的介绍和数据测试
流程图:
函数之间相互调用的图示:
失败
3.1登录界面
登录界面输入“姓名”和“密码”,点击“确定”,通过验证则进入主功能菜单。
如果输入错误则会有相应的警告!
1.当输入了一个错误时,会出现下图!
2.登陆成功后提示
3.2主功能界面
3.2.1显示
点击
,则弹出下面的选择菜单。
3.2.2添加
点击
,则弹出下面的选择菜单。
添加学生信息
1、设置的学号为主键、所以若添加的学号已存在的、会弹出如下图的提示:
2.成功添加学生信息
3.2.3修改学生信息
点击
,则弹出下面的选择菜单。
1.若输入的学号不存在的时候会有如下提示框:
2.如果输入的学号在数据库中可以查询的到、则会有弹出下面的菜单:
然后修改学生对应框的学生信息、修改完成后、点击
、弹出下面的提示
3.2.4查询学生信息
点击
,则弹出下面的选择菜单。
1.若输入的学号不存在、会弹出如下提示:
2、输入的学号存在的时候、会显示学生的所有信息:
3.2.5删除学生信息
点击
,则弹出下面的选择菜单。
1.输入的学号不存在时、会弹出提示
2.输入学号存在时、完成删除后弹出提示
3.2.6退出
点击
,退出本学籍管理系统。
4课程设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。
本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。
理论和实践的相结合是学习最有效的方法。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
5、参考文献:
1.《数据库系统原理与应用》孟彩霞主编人民教育出版社
2.《JAVA程序设计》JamesCohoon/JackDavidson著清华大学出版社
3.《JAVA项目开发案例整合》白伟明李伟等著电子工业出版社
6、代码:
(1)登陆:
Login
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassLogin{
publicstaticvoidmain(String[]args){
finalStringuserName="1";
finalStringpasswrod="1";
finalJFramejFrame=newJFrame("登陆界面");
Dimensiondimension=Toolkit.getDefaultToolkit().getScreenSize();
jFrame.setBounds(((int)dimension.getWidth()-200)/2,((int)dimension.getHeight()-300)/2,200,150);
jFrame.setResizable(false);
jFrame.setLayout(null);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabellabel1=newJLabel("姓名");
label1.setBounds(10,10,100,30);
jFrame.add(label1);
JLabellabel2=newJLabel("密码");
label2.setBounds(10,40,100,30);
jFrame.add(label2);
finalJTextFieldtext1=newJTextField();
text1.setBounds(50,15,130,20);
jFrame.add(text1);
finalJPasswordFieldtext2=newJPasswordField();
text2.setBounds(50,45,130,20);
jFrame.add(text2);
JButtonbutton=newJButton("Login");
button.setBounds(10,75,170,40);
button.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
if(userName.equals(text1.getText())&&passwrod.equals(text2.getText())){
jFrame.dispose();//使远窗口消失
JOptionPane.showMessageDialog(null,"登陆成功","提示",JOptionPane.INFORMATION_MESSAGE);
jFrame.dispose();
(newMenu()).go();
}else{
JOptionPane.showMessageDialog(null,"错误","提示",JOptionPane.ERROR_MESSAGE);
text1.setText("");
text2.setText("");
}
}
});
jFrame.add(button);
jFrame.setVisible(true);
jFrame.setLocationRelativeTo(null);
}
}
(2):
主界面:
Menu
importjava.awt.Container;
importjava.awt.LayoutManager;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.*;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
publicclassMenu{
JFramejf;
JButtonj1,j2,j3,j4,j5,j6;
publicstaticvoidmain(Stringargs[]){
Menum=newMenu();
m.go();
}
publicvoidgo(){
jf=newJFrame("学生学籍管理系统");
jf.setBounds(200,200,300,200);
Containercp=jf.getContentPane();
cp.setLayout(newFlowLayout(FlowLayout.LEADING,20,20));
j1=newJButton("添加学生信息");
j2=newJButton("修改学生信息");
j3=newJButton("查询学生信息");
j4=newJButton("删除学生信息");
j5=newJButton("显示学生信息");
j6=newJButton("退出管理系统");
cp.add(j1);
cp.add(j2);
cp.add(j3);
cp.add(j4);
cp.add(j5);
cp.add(j6);
j1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//jf.dispose();
newAdd();
}
});
j2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//jf.dispose();
Modifymodify=newModify();
}
});
j3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//jf.dispose();
Searchsearch=newSearch();
}
});
j4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//jf.dispose();
Deletedelete=newDelete();
}
});
j5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//jf.dispose();
Displaydisplay=newDisplay();
}
});
j6.addActionListener(newActionListener(){
//ActionListener接收动作事件的监听器接口。
//在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注册一个组件,使用组件的addActionListener方法。
//动作事件发生时,该对象的actionPerformed方法被调用。
publicvoidactionPerformed(ActionEventae){
System.exit(0);
}
});
jf.setVisible(true);
//jf.setLocationRelativeTo(null);
//jf.setLocationRelativeTo(null)是用来使窗口显示在屏幕正中间
}
}
(3)、添加:
Add
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddextendsJFrameimplementsActionListener{
staticAdds;
/*添加学生信息控件*/
JPaneljpl=newJPanel();
JLabellabel1=newJLabel("添加学生信息",JLabel.CENTER);
JLabellabel2=newJLabel("学号:
",JLabel.CENTER);
JLabellabel3=newJLabel("姓名:
",JLabel.CENTER);
JLabellabel4=newJLabel("性别:
",JLabel.CENTER);
JLabellabel5=newJLabel("班级:
",JLabel.CENTER);
JLabellabel6=newJLabel("生日:
",JLabel.CENTER);
JLabellabel7=newJLabel("政治面貌:
",JLabel.CENTER);
JLabellabel8=newJLabel("入学年份:
",JLabel.CENTER);
JLabellabel9=newJLabel("入学成绩:
",JLabel.CENTER);
JLabellabelA=newJLabel("联系方式:
",JLabel.CENTER);
JLabellabelB=newJLabel("家庭住址:
",JLabel.CENTER);
//JLabellabelC=newJLabel("备注信息:
",JLabel.CENTER);
JTextFieldSno=newJTextField
(2);
JTextFieldSname=newJTextField(4);
JTextFieldSsex=newJTextField();
JTextFieldSclas=newJTextField();
JTextFieldSbirth=newJTextField();
JTextFieldSnation=newJTextField();
JTextFieldSyear=newJTextField();
JTextFieldSgrade=newJTextField();
JTextFieldStel=newJTextField();
JTextFieldSaddress=newJTextField();
JButtonreset=newJButton("重置");
JButtonaddmsg=newJButton("添加");
publicAdd()
{
super("添加学生信息");
this.setResizable(false);
this.setSize(500,600);
this.setVisible(true);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jpl);
this.setLocationRelativeTo(null);
jpl.setLayout(null);
addmsg.addActionListener(this);
reset.addActionListener(this);
/*插入面板*/
label1.setBounds(100,20,300,20);
jpl.add(label1);
label2.setBounds(100,50,70,20);
jpl.add(label2);
Sno.setBounds(190,50,140,20);
jpl.add(Sno);
label3.setBounds(100,90,70,20);
jpl.add(label3);
Sname.setBounds(190,90,140,20);
jpl.add(Sname);
label4.setBounds(100,130,70,20);
jpl.add(label4);
Ssex.setBounds(190,130,140,20);
jpl.add(Ssex);
label5.setBounds(100,170,70,20);
jpl.add(label5);
Sclas.setBounds(190,170,140,20);
jpl.add(Sclas);
label6.setBounds(100,210,70,20);
jpl.add(label6);
Sbirth.setBounds(190,210,140,20);
jpl.add(Sbirth);
label7.setBounds(100,250,70,20);
jpl.add(label7);
Snation.setBounds(190,250,140,20);
jpl.add(Snation);
label8.setBounds(100,290,70,20);
jpl.add(label8);
Syear.setBounds(190,290,140,20);
jpl.add(Syear);
label9.setBounds(100,330,70,20);
jpl.add(label9);
Sgrade.setBounds(190,330,140,20);
jpl.add(Sgrade);
labelA.setBounds(100,370,70,20);
jpl.add(labelA);
Stel.setBounds(190,370,140,20);
jpl.add(Stel);
labelB.setBounds(100,410,70,20);
jpl.add(labelB);
Saddress.setBounds(190,410,140,20);
jpl.add(Saddress);
reset.setBound
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA SQL 学生 学籍 管理 系统 代码 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)