最新基于Java和Oracle的学生信息管理系统.docx
《最新基于Java和Oracle的学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《最新基于Java和Oracle的学生信息管理系统.docx(66页珍藏版)》请在冰点文库上搜索。
最新基于Java和Oracle的学生信息管理系统
学生信息管理系统
自己做的学生信息管理系统,由于能力有限,其中的错误和不足较多,但可以正常运行也加入了必要的提示操作,希望能为有需要的童鞋一些启示。
附录:
学生信息管理系统代码
1.登录界面
1.1登录界面模块
//函数库
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
//登录界面主程序
publicclasssystemextendsJFrameimplementsActionListener
{
privatestaticfinallongserialVersionUID=1L;
staticsystemss;
JPanelpanel=newJPanel();
JMenuBarjmb1=newJMenuBar();
JMenuBarmBar=newJMenuBar();
JMenuHelp=newJMenu("帮助");
JMenuAbout=newJMenu("关于");
JMenuItemPassword=newJMenuItem("忘记密码");
JMenuItemAboutus=newJMenuItem("关于软件");
//设置姓名、密码、登陆、退出按钮
JLabellabel1=newJLabel("账号");
JTextFieldusernumber=newJTextField();
JLabellabel2=newJLabel("密码");
JPasswordFieldpwd=newJPasswordField();
JButtonEnter=newJButton("登录");
JButtonExit=newJButton("退出");
//设置主题图片
Stringurl="C:
\\Users\\Design\\Capture.PNG";
ButtonGroupbgp=newButtonGroup();
//设置学生、教师角色,并设置角色按钮
JRadioButtonstu=newJRadioButton("学生");
JRadioButtontch=newJRadioButton("教师");
publicsystem()
{
//设置窗口题头
super("***学生管理系统");
this.setSize(500,400);
this.setResizable(false);
panel.setOpaque(false);
this.setJMenuBar(jmb1);
JLabelimg=newJLabel(newImageIcon(url));
img.setBounds(0,0,575,70);
Password.addActionListener(this);
Aboutus.addActionListener(this);
setJMenuBar(jmb1);
//向面板中一次添加图片、按钮,并设置按钮尺寸
jmb1.add(Help);
jmb1.add(About);
Help.add(Password);
About.add(Aboutus);
mBar.add(Help);
mBar.add(About);
setJMenuBar(mBar);
panel.add(img);
stu.setBounds(210,150,70,30);
tch.setBounds(310,150,70,30);
bgp.add(stu);
bgp.add(tch);
panel.add(stu);
panel.add(tch);
Enter.setBounds(210,180,70,20);
Exit.setBounds(290,180,70,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
Help.setForeground(Color.blue);
Password.setForeground(Color.blue);
About.setForeground(Color.blue);
Aboutus.setForeground(Color.blue);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(175,90,50,25);
panel.add(label1);
usernumber.setBounds(210,90,150,25);
panel.add(usernumber);
label2.setBounds(175,125,50,25);
panel.add(label2);
pwd.setBounds(210,125,150,25);
panel.add(pwd);
this.setBounds(110,60,540,320);
//将当前窗口防止在屏幕中央
setLocationRelativeTo(null);
//setVisible(true);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@SuppressWarnings("deprecation")
publicvoidactionPerformed(ActionEvente)
{
Stringid,password;
id=usernumber.getText();
password=pwd.getText();
if(e.getSource()==Password)
JOptionPane.showMessageDialog(this,"请联系任课教师重置密码!
","忘记密码",JOptionPane.INFORMATION_MESSAGE);
if(e.getSource()==Aboutus)
JOptionPane.showMessageDialog(this,"作者:
张三\n\n单位:
信息工程学院\n\n版本:
Version1.1.8","关于软件",JOptionPane.INFORMATION_MESSAGE);
if(e.getSource()==Exit)
{System.exit(0);}
if(e.getSource()==Enter)
{
//加载数据库驱动
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(ss,ce.getMessage());
}
if(!
(stu.isSelected())&&!
(tch.isSelected()))
{
JOptionPane.showMessageDialog(this,"请选择学生或教师!
");
}
elseif(stu.isSelected())
{
if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入账号或密码
{
JOptionPane.showMessageDialog(this,"对不起,你输入账号或密码为空!
");
}
else//如果都有数据了就开始连接数据库验证
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
oracle:
thin:
@localhost:
1521:
orcl","system","manager");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromSTU");
rs=stmt.executeQuery("select*fromSTUwhereID='"+id+"'");
if(rs.next())//如果账号存在,则验证密码
{
if(rs.getString("Pwd").equals(password))//如果密码正确就提示,反之
{
this.setVisible(false);
@SuppressWarnings("unused")
Studentsstu=newStudents();
}
else
{
JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!
");
}
}
else//如果没有查找到用户名就提示
{
JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!
");
}
rs.close();
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
}
else
{
if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入用户名或密码
{
JOptionPane.showMessageDialog(this,"对不起,请输入账户或密码!
");
}
else//如果都有数据了就开始连接数据库验证
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
oracle:
thin:
@localhost:
1521:
orcl","system","manager");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromTCH");
rs=stmt.executeQuery("select*fromTCHwhereID='"+id+"'");
if(rs.next())//如果存在,就验证密码
{
if(rs.getString("PWD").equals(password))//如果密码正确就提示,反之
{
this.setVisible(false);
@SuppressWarnings("unused")
Teacherstch=newTeachers();
}
else
{
JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!
");
}
}
else//如果没有查找到账号就提示
{
JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!
");
}
rs.close();
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
}
}
}
publicstaticvoidmain(String[]args)
{
@SuppressWarnings("unused")
systemsys=newsystem();
}
}
2.学生管理
2.1学生界面模块
//函数库
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
classMyPanelextendsJPanel
{
privatestaticfinallongserialVersionUID=1L;
Imageimg1=Toolkit.getDefaultToolkit().getImage("C:
/Users/lincy/workspace/Design/1.png");
publicvoidpaint(Graphicsg)
{
g.drawImage(img1,0,0,this);
}
}
publicclassStudentsextendsJFrameimplementsActionListener
{
privatestaticfinallongserialVersionUID=1L;
JMenuBarjmb=newJMenuBar();
JMenuMessage=newJMenu("信息");
JMenuScore=newJMenu("成绩");
JMenulogpassword=newJMenu("密码");
JMenuItemItem1=newJMenuItem("添加");
JMenuItemItem2=newJMenuItem("查询");
JMenuItemItem3=newJMenuItem("修改登录密码");
JMenuItemItem4=newJMenuItem("查询");
JPaneljpl=newJPanel();
publicStudents()
{
super("学生界面");
this.setSize(500,400);
//将当前窗口防止在屏幕中央
setLocationRelativeTo(null);
setContentPane(newMyPanel());
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setJMenuBar(jmb);
this.add(jpl);
jmb.add(Message);
jmb.add(Score);
jmb.add(logpassword);
jpl.setBackground(Color.white);
Message.add(Item1);
Message.add(Item2);
logpassword.add(Item3);
Score.add(Item4);
Item1.addActionListener(this);
Item2.addActionListener(this);
Item3.addActionListener(this);
Item4.addActionListener(this);
}
@SuppressWarnings("unused")
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==Item1)
{
AddMessagead=newAddMessage();
}
elseif(e.getSource()==Item2)
{
Searchser=newSearch();
}
elseif(e.getSource()==Item3)
{
stulogpasswordchange=newstulogpassword();
}
else
{
Scoresc=newScore();
}
}
publicstaticvoidmain(String[]args)
{
@SuppressWarnings("unused")
Studentsstu=newStudents();
}
}
2.2.学生添加个人信息模块
//函数库
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddMessageextendsJFrameimplementsActionListener
{
privatestaticfinallongserialVersionUID=1L;
staticAddMessages;
/*添加学生信息控件*/
JPaneljpl=newJPanel();
JLabellabel1=newJLabel("密码",JLabel.CENTER);
JLabellabel2=newJLabel("学号",JLabel.CENTER);
JLabellabel3=newJLabel("姓名",JLabel.CENTER);
JLabellabel4=newJLabel("性别",JLabel.CENTER);
JLabellabel6=newJLabel("班级",JLabel.CENTER);
JLabellabel7=newJLabel("学院",JLabel.CENTER);
JTextFieldoldpassword=newJTextField(8);
JTextFieldnum=newJTextField
(2);
JTextFieldnam=newJTextField(4);
ButtonGroupbgp=newButtonGroup();
JRadioButtonman=newJRadioButton("男");
JRadioButtonwomen=newJRadioButton("女");
JTextFieldclas=newJTextField();
JTextFieldscl=newJTextField();
JButtonreset=newJButton("清空");
JButtonaddmsg=newJButton("添加");
publicAddMessage()
{
super("添加基本信息");
this.setSize(500,400);
this.setVisible(true);
//将当前窗口防止在屏幕中央
setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jpl);
jpl.setLayout(null);
addmsg.addActionListener(this);
reset.addActionListener(this);
/*插入面板*/
label1.setBounds(130,60,80,20);
jpl.add(label1);
oldpassword.setBounds(190,60,140,20);
jpl.add(oldpassword);
label2.setBounds(135,20,70,20);
jpl.add(label2);
num.setBounds(190,20,140,20);
jpl.add(num);
label3.setBounds(135,100,70,20);
jpl.add(label3);
nam.setBounds(190,100,140,20);
jpl.add(nam);
label4.setBounds(135,140,70,20);
jpl.add(label4);
man.setBounds(210,140,60,20);
women.setBounds(280,140,60,20);
jpl.add(man);
jpl.add(women);
bgp.add(man);
bgp.add(women);
label6.setBounds(135,180,70,20);
jpl.add(label6);
clas.setBounds(190,180,140,20);
jpl.add(clas);
label7.setBounds(135,220,70,20);
jpl.add(label7);
scl.setBounds(190,220,140,20);
jpl.add(scl);
reset.setBounds(190,260,65,20);
addmsg.setBounds(265,260,65,20);
jpl.add(reset);
jpl.add(addmsg);
}
@SuppressWarnings("unused")
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==addmsg)
{
Stringsex=null;
Stringid,b,c,d,f;
id=num.getText();
b=nam.getText();
c=oldpassword.getText();
d=clas.getText();
f=scl.getText();
if(id.equals("")||b.equals("")||c.equals("")||d.equals(""))
{
JOptionPane.showMessageDialog(this,"你输入的信息不全,无法完成添加!
");
}