1、I学学生生信信息息管管理理系系统统Java 程序设计结课报告II目目 录录第 1 章 学生信息管理系统简介.31.1 系统功能.31.2 系统引用例子.3第 2 章 表的设计.42.1 系统数据库表结构:.4第 3 章 连接数据库的实现.5第 4 章 系统详细设计.64.1系统登录模块设计.64.2系统主界面详细设计.104.2.1管理员操作模块.104.2.2 教师操作模块.124.2.3 学生操作模块.14第 5 章 系统运行与测试.165.1 管理员登录.165.2 教师登录.175.3 学生登录.22答辩记录.31成绩考核表.31Java 程序设计结课报告3学生信息管理系学生信息管理系
2、统统第第 1 章章 学生信息管理系统简介学生信息管理系统简介1.1 系统系统功能功能本系统主要功能:1用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID 号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。2教师管理界面。提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。3管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等。4登录的用户信息分别存储在 SQL 数据库的“管理员信息表”,“教师信息表”,“学籍信息表”
3、中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安全性。1.2 系统系统引用例子引用例子课本 P228 页 13.03课本 P231 页 13.05课本 P247 页 13.17课本 P249 页 13.22课本 P370 页 20.11Java 程序设计结课报告4第第 2 章章 表的设计表的设计2.1 系统数据库表结构:系统数据库表结构:教师信息表教师信息表:字段名字段名 类型类型空值空值约束条件约束条件教师 ID varchar(8)not null主键教师姓名varchar(8)not null登录密码varchar(8)not null课程信息表:课程
4、信息表:字段名字段名 类型类型空值空值约束条件约束条件课程号 varchar(8)not null主键课程名称varchar(12)not null教师 IDvarchar(8)not null外键班级信息表:班级信息表:字段名字段名 类型类型空值空值约束条件约束条件班级号 varchar(8)not null主键班级名称varchar(8)not null班级人数nchar(4)管理员信息表:管理员信息表:字段名字段名 类型类型空值空值约束条件约束条件管理员 ID varchar(10)not null主键登录密码varchar(10)not null成绩信息表:成绩信息表:字段名字段名 类
5、型类型空值空值约束条件约束条件学号 varchar(15)not null主键,外键课程号varchar(8)not null主键,外键成绩smallintnot null学籍信息表:学籍信息表:字段名字段名 类型类型空值空值约束条件约束条件学号int not null主键姓名varchar(30)not null性别char(2)班级号varchar(30)not null 外键籍贯char(10)登录密码moneynot nullJava 程序设计结课报告5第第 3 3 章章 连接数据库的连接数据库的实现实现Mysql连接数据库的关键代码:public class DbOperation/
6、打开连接public static Connection getConnection()Connection con=null;try Class.forName(com.mysql.jdbc.Driver);String url=jdbc:mysql:/127.0.0.1:3306/member;String user=root;/定义连接数据库的用户名String passWord=raoyang;/定义连接数据库的密码con=DriverManager.getConnection(url,user,passWord);catch(Exception e)e.printStackTrace
7、();return con;/关闭连接public static void closeConnection(Connection con)if(con!=null)try con.close();catch(SQLException e)e.printStackTrace();6第第 4 章章 系统详细设计系统详细设计4.1 系统登录模块设计系统登录模块设计1)运行结果:2)实验代码:/登录界面import java.awt.Container;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class
8、 Login extends JFrame implements ActionListenerprivate static final long serialVersionUID=1L;JFrame mm=new JFrame(您好!请您先登录!);JTextField t2=new JTextField(null,15);JTextField t4=new JPasswordField(null,15);public String zh=null;JRadioButton b=new JRadioButton(教师);JRadioButton b1=new JRadioButton(学生);
9、JRadioButton b2=new JRadioButton(管理员);static Connection con;static PreparedStatement sql;static ResultSet res;public void jiemian()mm.setSize(300,340);mm.setVisible(true);mm.setLocation(200,300);JLabel t1=new JLabel(ID号:);JLabel t3=new JLabel(密码:);JButton denglu2=new JButton(登录);denglu2.setContentAr
10、eaFilled(false);7 Container n=mm.getContentPane();n.setLayout(null);t1.setBounds(40,100,75,35);t2.setBounds(80,100,150,35);t3.setBounds(40,150,75,35);t4.setBounds(80,150,150,35);denglu2.setBounds(120,210,70,30);n.add(t1);n.add(t2);n.add(t3);n.add(t4);n.add(denglu2);b.setBounds(120,50,60,30);b1.setBo
11、unds(60,50,80,30);b2.setBounds(180,50,80,30);ButtonGroup rg=new ButtonGroup();b.setSelected(false);b1.setSelected(false);b1.setSelected(false);n.add(b);n.add(b1);n.add(b2);rg.add(b);rg.add(b1);rg.add(b2);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);b2.setContentAreaFilled(false);deng
12、lu2.addActionListener(this);denglu2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)JButton denglu2=(JButton)arg0.getSource();boolean flag=true;if(arg0.getSource()=denglu2)if(b1.isSelected()Login app=new Login();app.Login();con=app.getConnection();try Class.forName
13、(com.mysql.jdbc.Driver);String url=jdbc:mysql:/127.0.0.1:3306/课设;String user=root;String passWord=raoyang;con=DriverManager.getConnection(url,user,passWord);/连接连接 catch(Exception e)e.printStackTrace();String id=t2.getText().toString();String mm=t4.getText().toString();try Statement sql=con.createSta
14、tement();ResultSet res=sql.executeQuery(select*from 学籍);8while(res.next()if(res.getString(学号).equals(id)&(res.getString(登入密码).equals(mm)JOptionPane.showMessageDialog(null,登陆成功);flag=false;new xscaozuo();if(flag)JOptionPane.showMessageDialog(null,登录失败);res.close();catch(SQLException e)e.printStackTra
15、ce();else if(b.isSelected()try Class.forName(com.mysql.jdbc.Driver);String url=jdbc:mysql:/127.0.0.1:3306/课设;String user=root;String passWord=raoyang;con=DriverManager.getConnection(url,user,passWord);/连接连接 catch(Exception e)e.printStackTrace();String id=t2.getText().toString();String mm=t4.getText(
16、).toString();try Statement sql=con.createStatement();ResultSet res=sql.executeQuery(select*from 教师);while(res.next()if(res.getString(教师ID).equals(id)&(res.getString(登入密码).equals(mm)JOptionPane.showMessageDialog(null,登陆成功);flag=false;new jscaozuo();if(flag)JOptionPane.showMessageDialog(null,登录失败);res
17、.close();catch(SQLException e)e.printStackTrace();else if(b2.isSelected()con=null;try 9Class.forName(com.mysql.jdbc.Driver);String url=jdbc:mysql:/127.0.0.1:3306/课设;String user=root;String passWord=raoyang;con=DriverManager.getConnection(url,user,passWord);/连接连接 catch(Exception e)e.printStackTrace()
18、;String id=t2.getText().toString();String mm=t4.getText().toString();try Statement sql=con.createStatement();ResultSet res=sql.executeQuery(select*from 管理员);while(res.next()if(res.getString(管理员ID).equals(id)&(res.getString(登入密码).equals(mm)JOptionPane.showMessageDialog(null,登陆成功);flag=false;new guanl
19、iyuancaozuo();if(flag)JOptionPane.showMessageDialog(null,登录失败);res.close();catch(SQLException e)e.printStackTrace(););public Connection getConnection()return null;public void actionPerformed(ActionEvent e)t2.setText(null);t4.setText(null);public static void main(String args)Login app=new Login();app
20、.jiemian();104.2 系统主界面详细设计系统主界面详细设计4.2.1 管理员操作模块管理员操作模块1)运行结果:2)实验代码:/学生操作界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class guanliyuancaozuo extends JFrame implements ActionListenerpublic guanliyuancaozuo()setTitle(管理员操作);setLayout(null);JButton b1=new JButton(添加教师信息);b1.
21、setBounds(30,20,140,30);JButton b2=new JButton(修改教师信息);b2.setBounds(30,70,140,30);JButton b3=new JButton(删除教师信息);b3.setBounds(30,120,140,30);JButton b4=new JButton(查询教师信息);b4.setBounds(30,170,140,30);JButton b5=new JButton(教师管理界面);b5.setBounds(30,220,140,30);JButton b6=new JButton(重新登录);b6.setBounds
22、(30,270,140,30);Container c=getContentPane();c.add(b1);c.add(b2);c.add(b3);c.add(b4);c.add(b5);c.add(b6);setSize(220,360);setLocation(100,300);setVisible(true);11b1.addActionListener(this);b1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new tianjiajiaoshi(););b2
23、.addActionListener(this);b2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new xiugaijiaoshi(););b3.addActionListener(this);b3.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new shanchujiaoshi(););b4.addActionListener(this);b4.a
24、ddActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new chaxunjiaoshi(););b5.addActionListener(this);b5.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new jscaozuo(););b6.addActionListener(this);b6.addActionListener(new ActionListener
25、()public void actionPerformed(ActionEvent arg0)Login app=new Login();app.jiemian(););124.2.2 教师操作模块教师操作模块1)运行结果:2)实验代码:/教师操作界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class jscaozuo extends JFrame implements ActionListenerprivate static final long serialVersionUID=532893
26、8865248326479L;public jscaozuo()setTitle(教师操作);setLayout(null);JLabel aaa=new JLabel(学生信息管理:);JLabel aaa1=new JLabel(学生成绩管理:);JButton b1=new JButton(显示学生信息);b1.setBounds(40,45,140,30);JButton b2=new JButton(添加学生信息);b2.setBounds(200,45,140,30);JButton b3=new JButton(修改学生信息);b3.setBounds(40,90,140,30)
27、;JButton b4=new JButton(删除学生信息);b4.setBounds(200,90,140,30);JButton b5=new JButton(录入学生成绩);b5.setBounds(40,170,140,30);JButton b6=new JButton(修改学生成绩);b6.setBounds(200,170,140,30);JButton b7=new JButton(删除学生成绩);b7.setBounds(40,215,140,30);JButton b8=new JButton(查询学生成绩);b8.setBounds(200,215,140,30);13
28、JButton b10=new JButton(退出系统);b10.setBounds(40,285,90,30);JButton b11=new JButton(修改密码);b11.setBounds(150,285,90,30);JButton back=new JButton(重新登录);back.setBounds(260,285,90,30);aaa.setBounds(15,15,90,30);aaa1.setBounds(15,140,90,30);Container c=getContentPane();c.add(b1);c.add(b2);c.add(b3);c.add(b
29、4);c.add(b5);c.add(b6);c.add(b7);c.add(b8);c.add(b10);c.add(b11);c.add(back);c.add(aaa);c.add(aaa1);setSize(400,420);setLocation(200,300);setVisible(true);back.addActionListener(this);back.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)Login app=new Login();app.ji
30、emian(););b1.addActionListener(this);b1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new chaxunxs(););b2.addActionListener(this);b2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new tianjiaxuesheng(););b3.addActionListener(th
31、is);b3.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new xiugaixuesheng(););b4.addActionListener(this);b4.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new shanchuxuesheng(););b5.addActionListener(this);b5.addActionListener(ne
32、w ActionListener()public void actionPerformed(ActionEvent arg0)new dengruxschengji(););b6.addActionListener(this);14 b6.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new xiugaixschengji(););b7.addActionListener(this);b7.addActionListener(new ActionListener()publi
33、c void actionPerformed(ActionEvent arg0)new shanchuxschengji(););b8.addActionListener(this);b8.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new chaxunxschengji(););b11.addActionListener(this);b11.addActionListener(new ActionListener()public void actionPerformed(
34、ActionEvent arg0)new xiugaijiaoshimima(););b10.addActionListener(this);b10.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)System.exit(0););4.2.3 学生操作模块学生操作模块1)运行结果:152)实验代码:/学生操作界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class xscaozuo
35、 extends JFrame implements ActionListenerpublic xscaozuo()setTitle(学生操作);setLayout(null);JButton b1=new JButton(显示学生信息);b1.setBounds(30,20,140,30);JButton b2=new JButton(查询学生成);b2.setBounds(30,70,140,30);JButton b3=new JButton(修改密码);b3.setBounds(30,120,140,30);JButton b4=new JButton(重新登录);b4.setBoun
36、ds(30,170,140,30);Container c=getContentPane();c.add(b1);c.add(b2);c.add(b3);c.add(b4);setSize(220,260);setLocation(100,300);setVisible(true);b1.addActionListener(this);b1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new chaxunxs(););b2.addActionListener(this);b
37、2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new chaxunxschengji(););b3.addActionListener(this);b3.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)new xiugaixueshengmima(););b4.addActionListener(this);b4.addActionListener(new
38、 ActionListener()public void actionPerformed(ActionEvent arg0)Login app=new Login();app.jiemian(););16第第 5 章章 系统运行与测试系统运行与测试5.1 管理员登录管理员登录 点击“管理员”按钮。输入正确的 ID 和密码。验证成功则可进入管理员管理界面。管理员 ID 号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。(1)添加教师信息。在弹出的输入栏中输入正确的数据。17(2)修改教师信息 (3)删除信息修改 (4)查询教师信息 (5)教师管理界面同下面的教师操作界面185.
39、2 教师登录教师登录 在登录界面选择“教师”按钮,并输入正确的 ID 号和密码,即可登录成功!输入错误则会弹出提示!ID 号输入正确,登录成功!进入教师管理的操作界面:19(1)显示学生信息 (2)添加学生信息(3)修改学生信息,输入正确则显示!20 (4)删除学生信息 (5)录入学生成绩(6)修改学生成绩21 (7)删除学生成绩 (8)查询学生成绩 (9)更改登录密码22 5.3 学生登录学生登录 (1)查询个人成绩23(2)查询学生成绩 (3)修改密码 部分实验代码:/添加老师信息:public class tianjiajiaoshi extends JFrame implements
40、ActionListener24private static final long serialVersionUID=1L;JFrame mm=new JFrame(添加教师信息);JTextField t2=new JTextField(null,30);JTextField t4=new JTextField(null,30);JTextField t6=new JTextField(null,30);JTextField t8=new JTextField(null,30);JTextField t10=new JTextField(null,30);static Connection
41、con;static PreparedStatement sql;static ResultSet res;public Connection getConnection()/*省略数据库连接的代码*/return con;private void tianjiajiaoshi()mm.setSize(250,300);mm.setVisible(true);mm.setLocation(200,300);JLabel t1=new JLabel(请输入教师ID:);JLabel t3=new JLabel(请输入教师姓名:);JLabel t5=new JLabel(请输入教师的登录密码:)
42、;JButton querenxiugai=new JButton(确认添加);querenxiugai.setContentAreaFilled(false);Container n=mm.getContentPane();n.setLayout(null);t1.setBounds(50,10,150,30);t2.setBounds(50,40,150,30);t3.setBounds(50,70,150,30);t4.setBounds(50,100,150,30);t5.setBounds(50,130,150,30);t6.setBounds(50,160,150,30);quer
43、enxiugai.setBounds(80,210,90,30);n.add(t1);n.add(t2);n.add(t3);n.add(t4);n.add(t5);n.add(t6);n.add(querenxiugai);querenxiugai.addActionListener(this);querenxiugai.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)JButton queren=(JButton)arg0.getSource();boolean flag=
44、false;if(arg0.getSource()=queren)try 25Class.forName(com.mysql.jdbc.Driver);String url=jdbc:mysql:/127.0.0.1:3306/课设;String user=root;String passWord=raoyang;con=DriverManager.getConnection(url,user,passWord);catch(Exception e)e.printStackTrace();String a=t2.getText();String b=t4.getText();String c=
45、t6.getText();try Statement sq=con.createStatement();ResultSet res=sq.executeQuery(select*from 教师);while(res.next()if(res.getString(教师ID).equals(a)JOptionPane.showMessageDialog(null,该教师已存在!请重新输入!);if(!flag)sql=con.prepareStatement(insert into 教师+values(?,?,?);sql.setString(1,a);sql.setString(2,b);sql
46、.setString(3,c);sql.executeUpdate();JOptionPane.showMessageDialog(null,添加教师信息成功!);flag=true;new guanliyuancaozuo();break;res.close();catch(SQLException e)e.printStackTrace(););/删除教师信息public class shanchujiaoshi extends JFrame implements ActionListenerprivate static final long serialVersionUID=1L;JFr
47、ame mm=new JFrame(删除教师信息);JTextField t2=new JTextField(null,30);static Connection con;static PreparedStatement sql;static ResultSet res;public shanchujiaoshi()mm.setSize(260,160);mm.setVisible(true);26 mm.setLocation(260,200);JLabel t1=new JLabel(请输入要删除的教师ID:);JButton queren=new JButton(确认);JButton
48、quxiao=new JButton(取消);queren.setContentAreaFilled(false);quxiao.setContentAreaFilled(false);Container n=mm.getContentPane();n.setLayout(null);t1.setBounds(20,10,200,30);t2.setBounds(20,40,200,30);queren.setBounds(50,80,60,30);quxiao.setBounds(120,80,60,30);n.add(t1);n.add(t2);n.add(queren);n.add(qu
49、xiao);ButtonGroup rg=new ButtonGroup();queren.addActionListener(this);queren.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)JButton querenxiugai=(JButton)arg0.getSource();boolean flag=false;if(arg0.getSource()=querenxiugai)try Class.forName(com.mysql.jdbc.Driver);
50、String url=jdbc:mysql:/127.0.0.1:3306/课设;String user=root;String passWord=raoyang;con=DriverManager.getConnection(url,user,passWord);catch(Exception e)e.printStackTrace();String id=t2.getText().toString();try Statement sq=con.createStatement();ResultSet res=sq.executeQuery(select*from 教师);while(res.
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100