JAVA+SQL学生学籍管理系统代码及实验报告Word下载.docx
《JAVA+SQL学生学籍管理系统代码及实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA+SQL学生学籍管理系统代码及实验报告Word下载.docx(45页珍藏版)》请在冰豆网上搜索。
随着这些年电脑计算机的速度质的提高,成本的下降,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="
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);
(newMenu()).go();
}else{
错误"
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.*;
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){
Modifymodify=newModify();
j3.addActionListener(newActionListener(){
Searchsearch=newSearch();
j4.addActionListener(newActionListener(){
Deletedelete=newDelete();
j5.addActionListener(newActionListener(){
Displaydisplay=newDisplay();
j6.addActionListener(newActionListener(){
//ActionListener接收动作事件的监听器接口。
//在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注册一个组件,使用组件的addActionListener方法。
//动作事件发生时,该对象的actionPerformed方法被调用。
publicvoidactionPerformed(ActionEventae){
System.exit(0);
jf.setVisible(true);
//jf.setLocationRelativeTo(null);
//jf.setLocationRelativeTo(null)是用来使窗口显示在屏幕正中间
(3)、添加:
Add
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddextendsJFrameimplementsActionListener{
staticAdds;
/*添加学生信息控件*/
JPaneljpl=newJPanel();
JLabellabel1=newJLabel("
JLabel.CENTER);
JLabellabel2=newJLabel("
学号:
JLabellabel3=newJLabel("
姓名:
JLabellabel4=newJLabel("
性别:
JLabellabel5=newJLabel("
班级:
JLabellabel6=newJLabel("
生日:
JLabellabel7=newJLabel("
政治面貌:
JLabellabel8=newJLabel("
入学年份:
JLabellabel9=newJLabel("
入学成绩:
JLabellabelA=newJLabel("
联系方式:
JLabellabelB=newJLabel("
家庭住址:
//JLabellabelC=newJLabel("
备注信息:
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.setBounds(120,450,90,20);
addmsg.setBounds(240,450,90,2