Java学生管理系统.docx
《Java学生管理系统.docx》由会员分享,可在线阅读,更多相关《Java学生管理系统.docx(41页珍藏版)》请在冰豆网上搜索。
Java学生管理系统
农工商职业技术学院实验报告
实验人:
______同组人:
______班级:
______指导老师:
_____
1、实验题目
学生管理系统
2、实验目的
⏹掌握实际开发的步骤。
⏹能够熟练开发和学生管理系统相类似的系统。
⏹掌握Java中的界面开发。
⏹掌握Java中如何连接数据库。
3、实验设备及仪器
计算机一台,配置有JDK环境
4、实验内容
编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使得学生教师能简单方便地对数据进行存储修改
5、实验步骤
(1)首先确定学生管理系统的用户。
(2)学生管理系统的用户基本分为两类,分别是老师和学生。
不管是哪种用户都是必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。
该系统是不会对外开放的,所以也不存在注册界面。
(3)因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。
首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。
主要来学习如何进行学生界面开发。
(4)除了学生界面外,还要有一个老师界面。
老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。
同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。
(5)首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。
在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。
(6)除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。
学生也可以通过该表对自己的成绩进行查询。
(7)不管是老师和学生进入学生管理系统都是从登录界面进入的。
在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。
(8)对界面设计好基本形式后,就可以进行程序开发。
首先要定义两个标签和两个文本框,分别来表示用户名和密码。
并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。
在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。
(9)在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。
(10)因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。
因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。
(11)对界面进行设计后,就可以进行程序开发。
同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。
(12)在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。
(13)学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。
除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。
(14)在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。
单击“查询”子菜单,将触发事件,进入到查询成绩界面。
6、附录
(1)登陆界面
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclasssystemsextendsJFrameimplementsActionListener
{
staticsystemsss;
JPanelpanel=newJPanel();
JLabellabel1=newJLabel("输入姓名:
");
JTextFieldname=newJTextField();
JLabellabel2=newJLabel("密码:
");
JPasswordFieldpwd=newJPasswordField();
JButtonEnter=newJButton("登录");
JButtonExit=newJButton("退出");
Stringurl="D:
\\Systems\\title.jpg";
ButtonGroupbgp=newButtonGroup();
JRadioButtonstu=newJRadioButton("学生");
JRadioButtontch=newJRadioButton("教师");
publicsystems()
{
super("登录系统");
this.setResizable(false);
JLabelimg=newJLabel(newImageIcon(url));
img.setBounds(0,0,500,100);
panel.add(img);
stu.setBounds(165,210,70,20);
tch.setBounds(265,210,70,20);
bgp.add(stu);
bgp.add(tch);
panel.add(stu);
panel.add(tch);
Enter.setBounds(150,250,80,20);
Exit.setBounds(270,250,80,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(135,130,100,25);
panel.add(label1);
name.setBounds(265,130,100,25);
panel.add(name);
label2.setBounds(135,165,100,25);
panel.add(label2);
pwd.setBounds(265,165,100,25);
panel.add(pwd);
this.setBounds(100,100,500,350);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==Enter)
{
Stringusername,password;
username=name.getText();
password=pwd.getText();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(ss,ce.getMessage());
}
if(stu.isSelected())
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
sysdb","sa","");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromSTU");
while(rs.next())
{
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陆成功");
Studentsstu=newStudents();
}
else
{
JOptionPane.showMessageDialog(ss,"登录失败");
}
}
rs.close();
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
elseif(tch.isSelected())
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
systchdb","sa","");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromTCH");
while(rs.next())
{
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陆成功");
}
else
{
JOptionPane.showMessageDialog(ss,"登录失败");
}
}
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
}
else
{
System.exit(0);
}
}
publicstaticvoidmain(String[]args)
{
systemssys=newsystems();
}
}
(2)学生界面
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassStudentsextendsJFrameimplementsActionListener
{
JMenuBarjmb=newJMenuBar();
JMenuMessage=newJMenu("信息");
JMenuScore=newJMenu("成绩");
JMenuItemItem1=newJMenuItem("插入");
JMenuItemItem2=newJMenuItem("查询");
JMenuItemItem3=newJMenuItem("查询");
publicStudents()
{
super("学生界面");
this.setSize(500,400);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setJMenuBar(jmb);
jmb.add(Message);
jmb.add(Score);
Message.add(Item1);
Message.add(Item2);
Score.add(Item3);
Item1.addActionListener(this);
Item2.addActionListener(this);
Item3.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==Item1)
{
AddMsgad=newAddMsg();
}
elseif(e.getSource()==Item2)
{
Serchser=newSerch();
}
else
{
Scoreso=newScore();
}
}
publicstaticvoidmain(String[]args)
{
Studentsstu=newStudents();
}
}
(3)添加学生信息
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddMsgextendsJFrameimplementsActionListener
{
staticAddMsgs;
/*添加学生信息控件*/
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);
JTextFieldnum=newJTextField
(2);
JTextFieldnam=newJTextField(4);
ButtonGroupbgp=newButtonGroup();
JRadioButtonman=newJRadioButton("男");
JRadioButtonwomen=newJRadioButton("女");
JTextFieldclas=newJTextField();
JTextFieldscl=newJTextField();
JButtonreset=newJButton("重置");
JButtonaddmsg=newJButton("添加");
publicAddMsg()
{
super("添加学生信息");
this.setResizable(false);
this.setSize(500,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jpl);
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);
num.setBounds(190,50,140,20);
jpl.add(num);
label3.setBounds(100,90,70,20);
jpl.add(label3);
nam.setBounds(190,90,140,20);
jpl.add(nam);
label4.setBounds(100,130,70,20);
jpl.add(label4);
man.setBounds(190,130,60,20);
women.setBounds(270,130,60,20);
jpl.add(man);
jpl.add(women);
bgp.add(man);
bgp.add(women);
label5.setBounds(100,170,70,20);
jpl.add(label5);
clas.setBounds(190,170,140,20);
jpl.add(clas);
label6.setBounds(100,210,70,20);
jpl.add(label6);
scl.setBounds(190,210,140,20);
jpl.add(scl);
reset.setBounds(120,250,90,20);
addmsg.setBounds(240,250,90,20);
jpl.add(reset);
jpl.add(addmsg);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==addmsg)
{
Stringsex;
if(man.isSelected())
{
sex="男";
}
else
{
sex="女";
}
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(s,ce.getMessage());
}
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
sysdb","sa","");
Statementstmt=con.createStatement();
inta=stmt.executeUpdate("insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')");
if(a==1)
{
JOptionPane.showMessageDialog(s,"已成功添加");
}
else
{
JOptionPane.showMessageDialog(s,"添加失败");
}
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(s,se.getMessage());
}
}
else
{
num.setText("");
nam.setText("");
clas.setText("");
scl.setText("");
num.requestFocus();
}
}
publicstaticvoidmain(String[]args)
{
AddMsgamg=newAddMsg();
}
}
(4)添加学生成绩
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddscoreextendsJFrameimplementsActionListener
{
staticAddscoress;
JLabel[]label={newJLabel("学号:
"),newJLabel("计算机网络:
"),newJLabel("Linux操作系统:
"),newJLabel("计算机专业英语:
"),newJLabel("计算机信息技术基础:
"),newJLabel("Java程序设计:
"),newJLabel("数据库应用实训教程:
"),newJLabel("高等数学:
"),newJLabel("XML:
")};
JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()};
JButtonadd=newJButton("添加");
JButtonreset=newJButton("重置");
JPaneljpl=newJPanel();
JLabeltitle=newJLabel("添加学生成绩",JLabel.CENTER);
Fontf=newFont("黑体",Font.BOLD,16);
ints=100;
publicAddscore()
{
super("添加学生信息");
this.setResizable(false);
this.setSize(500,600);