题目:学生信息管理系统

1 系统需求分析

学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生

的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。

1.1 系统功能分析

本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统

的主要功能有:

 学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。

 学生流动情况的输入,包括:转系、休学、复学、退学、毕业。

 奖惩情况的输入。

 学生个人情况查询和修改,包括流动情况和奖罚情况。

1.2 系统功能模块设计(划分)

根据系统功能要求可以将系统分解成几个模

块来分别设计应用程序界面,如图 1 所示。

1.3 与其它系统的关系

学生信息管理系统是校园信息管理系统的一

个组成部分。它为其它系统,如班级信息管理系统、

教学管理系统、成绩单系统、宿舍分配系统等,提供学生的基本情况。同时需要其他系统提

供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数

据。

2 数据库设计

2.1 数据库需求分析

根据上一节的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:

 学生:学号、姓名、性别、生日、籍贯、所在院系、所在班级。

 处罚记录:记录号、级别、处罚对象、记录时间、详细描述、是否生效。

 奖励记录:记录号、级别、奖励对象、记录时间、详细描述。

 学籍变更记录:记录号、变更情况、记录对象、记录时间、详细描述。

图 1、学生信息管理系统功能模块图

所需的外部数据支持:

 班级:班级编号、班级名称、所属院系。

 院系:代码、名称。

2.2 数据库概念结构设计

图 3 是本系统所需数据的 E-R 模型图

E-R图:

2.3 数据库逻辑结构设计

根据系统 E-R 图,需要设计 4 个数据表来存放学生的信息。为了系统的完整,系统中

包括了应用程序设计中所需的 2 个外部数据表。为了优化数据表结构,部分字段采用代码形

式,因此需要附加 3 个代码表。这 9 个数据表的结构如表 1 到表 9 所示。

2.4 数据库的建立

2.4.1 数据库的建立(请设计者完成)

2.4.2 初始数据的输入

数据表创建成功后,数据库中还没有实际的数据。为了保证外部键能使用,数据需要提

前输入,如院系编号、班级编号、学籍变更代码和奖惩级别等等。

学籍变更代码和奖惩级别的主关键字 CODE 从 0 开始用阿拉伯数字依次编号,便于程

序设计时,采用单选按钮来选择。

本系统中所用到的学籍变更和奖惩级别代码如表 10 至表 12 所示(请设计者完成这些数

据表的逻辑结构)。

表10 学籍变更代码表

代码                说明

0                     转系

1                     休学

2                     复学

3                     退学

4                     毕业

表11 奖励级别代码

代码                说明

0             校特等奖学金

1             校一等奖学金

2             校二等奖学金

3             校三等奖学金

4             系一等奖学金

5             系二等奖学金

6             系三等奖学金

表12 处罚级别代码

代码                说明

0                     警告

1                 严重警告

2                     记过

3                   记大过

4                     开除

3 各功能模块的设计与实现

3.1 功能说明

1、学生个人信息输入

2、学籍变更情况的输入

3、奖励情况的输入

4、处罚情况的输入

5、学生个人情况查询和修改

3.2 用户界面设计

完成数据库创建和功能说明以后,我们可以进行下一步工作,即设计用户界面。由于本

系统管理内容比较简单,且为校园管理信息系统的一部分,因此使用一个窗体不同的标签页

来完成系统要求的 5 项功能。

我们把学生信息管理系统的窗体分成____个主要部分,如图____所示。

1、应用程序主窗体的创建

2、学生个人信息输入界面

3、学籍变更情况输入界面

4、奖励情况输入界面

5、处罚情况输入界面

6、学生个人情况查询和修改界面

3.3 各功能模块的实现

1、学生个人信息输入

2、学籍变更情况输入

3、奖励情况输入

4、处罚情况输入

5、学生个人情况查询和修改

界面和核心代码分析 :

本管理系统采用选项卡面板,将多个界面放在主窗体下,每个界面完成不同的功能,如信息输入奖励,处罚,学籍变更等。

以下是MySQL的表单结构,一共有9个表

数据表创建成功后,数据库中还没有实际的数据。为了保证外部键能使用,数据需要提

前输入,如院系编号、班级编号、学籍变更代码和奖惩级别等等.

以下是源代码(一共有两个文件):

第一个文件是:QUESTIONONE2.java

package ZTY;

import java.awt.*;

import javax.swing.*;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.ResultSet;

import java.sql.SQLException;

public class QUESTIONONE2 extends JFrame{

JPanel jap =null;

JPanel jap1=null;

JTextField JaTF1=null;JLabel jab1 = null;

JPanel jap2=null;

JTextField JaTF2=null;JLabel jab2 = null;

JPanel jap3=null;

JTextField JaTF3=null;JLabel jab3 = null;

JPanel jap4=null;

JTextField JaTF4=null;JLabel jab4 = null;

JPanel jap5=null;

JTextField JaTF5=null;JLabel jab5 = null;

JPanel jap6=null;

JTextField JaTF6=null;JLabel jab6 = null;

JPanel jap7=null;

JTextField JaTF7=null;JLabel jab7 =null;

JPanel jap8=null;

JButton jab=null;

JPanel jap9=null;JLabel jab9=null;

JPanel jbp =null;

JPanel jbp1=null;JTextField JbTF1=null;JLabel jbb1 = null;

JPanel jbp2=null;JTextField JbTF2=null;JLabel jbb2 = null;

JPanel jbp3=null;JTextField JbTF3=null;JLabel jbb3 = null;

JPanel jbp4=null;JTextField JbTF4=null;JLabel jbb4 = null;

JPanel jbp5=null;JTextField JbTF5=null;JLabel jbb5 = null;

JButton jbb=null;

JPanel jcp =null;

JPanel jcp1=null;JTextField JcTF1=null;JLabel jcb1 = null;

JPanel jcp2=null;JTextField JcTF2=null;JLabel jcb2 = null;

JPanel jcp3=null;JTextField JcTF3=null;JLabel jcb3 = null;

JPanel jcp4=null;JTextField JcTF4=null;JLabel jcb4 = null;

JPanel jcp5=null;JTextField JcTF5=null;JLabel jcb5 = null;

JButton jcb=null;

JPanel jdp =null;

JPanel jdp1=null;JTextField JdTF1=null;JLabel jdb1 = null;

JPanel jdp2=null;JTextField JdTF2=null;JLabel jdb2 = null;

JPanel jdp3=null;JTextField JdTF3=null;JLabel jdb3 = null;

JPanel jdp4=null;JTextField JdTF4=null;JLabel jdb4 = null;

JPanel jdp5=null;JTextField JdTF5=null;JLabel jdb5 = null;

JPanel jdp6=null;JTextField JdTF6=null;JLabel jdb6 = null;

JButton jdb=null;

JPanel jep =null;

JPanel jep1=null;JTextField JeTF1=null;JLabel jeb1 = null;

JPanel jep2=null;JButton JeB1=null;

JPanel jep3=null;JButton JeB2=null;

JPanel jep4=null;JTextField JeTF4=null;JLabel jeb4 = null;

JPanel jep5=null;JTextField JeTF5=null;JLabel jeb5 = null;

JPanel jep6=null;JTextField JeTF6=null;JLabel jeb6 = null;

JPanel jep7=null;JTextField JeTF7=null;JLabel jeb7 = null;

JPanel jep8=null;JTextField JeTF8=null;JLabel jeb8 = null;

JPanel jep9=null;JTextField JeTF9=null;JLabel jeb9 = null;

JPanel jep10=null;JTextField JeTF10=null;JLabel jeb10 = null;

JPanel jep11=null;JTextField JeTF11=null;JLabel jeb11 = null;

JPanel jep12=null;JTextField JeTF12=null;JLabel jeb12 = null;

JPanel jep13=null;JTextField JeTF13=null;JLabel jeb13 = null;

JTabbedPane JTP =null;

DbProcess2 dbprocess=new DbProcess2();

public QUESTIONONE2 (){

jap=new JPanel();//return jap;

jap1=new JPanel();

JaTF1=new JTextField(8);

jab1 = new JLabel("学号");

jab1.setFont(new Font(null,Font.PLAIN,20));

jap1.add(jab1);

jap1.add(JaTF1);

jap2=new JPanel();

JaTF2=new JTextField(8);

jab2 = new JLabel("姓名");

jab2.setFont(new Font(null,Font.PLAIN,20));

jap2.add(jab2);

jap2.add(JaTF2);

jap3=new JPanel();

JaTF3=new JTextField(8);

jab3 = new JLabel("性别");

jab3.setFont(new Font(null,Font.PLAIN,20));

jap3.add(jab3);

jap3.add(JaTF3);

jap4=new JPanel();

JaTF4=new JTextField(8);

jab4 = new JLabel("生日");

jab4.setFont(new Font(null,Font.PLAIN,20));

jap4.add(jab4);

jap4.add(JaTF4);

jap5=new JPanel();

JaTF5=new JTextField(8);

jab5 = new JLabel("籍贯");

jab5.setFont(new Font(null,Font.PLAIN,20));

jap5.add(jab5);

jap5.add(JaTF5);

jap6=new JPanel();

JaTF6=new JTextField(8);

jab6 = new JLabel("院系");

jab6.setFont(new Font(null,Font.PLAIN,20));

jap6.add(jab6);

jap6.add(JaTF6);

jap7=new JPanel();

JaTF7=new JTextField(8);

jab7 = new JLabel("班级");

jab7.setFont(new Font(null,Font.PLAIN,20));

jap7.add(jab7);

jap7.add(JaTF7);

jap8=new JPanel();

jab=new JButton("输入");

jab.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("输入")

&&!JaTF1.getText().isEmpty()

&&!JaTF2.getText().isEmpty()

&&!JaTF3.getText().isEmpty()

&&!JaTF4.getText().isEmpty()

&&!JaTF5.getText().isEmpty()

&&!JaTF6.getText().isEmpty()

&&!JaTF7.getText().isEmpty())

{

System.out.println("actionPerformed(). 输入");

String sNo=JaTF1.getText().trim();

String sName=JaTF2.getText().trim();

String sSex=JaTF3.getText().trim();

String sBir=JaTF4.getText().trim();

String sHom=JaTF5.getText().trim();

String sDep=JaTF6.getText().trim();

String sCla=JaTF7.getText().trim();

String sql = "insert into student(STUDENTID,NAME,SEX,CLASS,DEPARTMENT,BIRTHDAY,NATIVE_PLACE) values(";

sql = sql + sNo + ",'"+ sName + "','" + sSex + "'," + sCla + "," + sDep + ",'" + sBir + "','" + sHom + "')";

System.out.println(sql);

new DbProcess2().executeUpdate(sql);

}

}

});

Dimension preferredSize = new Dimension(150,20);

jab.setPreferredSize(preferredSize);

jap8.add(jab);

jab9=new JLabel("作者:ZTY");

jap9=new JPanel(new FlowLayout());

jap9.add(jab9);

jap.add(jap1);

jap.add(jap2);

jap.add(jap3);

jap.add(jap4);

jap.add(jap5);

jap.add(jap6);

jap.add(jap7);

jap.add(jap8);

jap.add(jap9);

jbp=new JPanel();//return jbp;

jbp1=new JPanel();

jbp2=new JPanel();

jbp3=new JPanel();

jbp4=new JPanel();

jbp5=new JPanel();

JbTF1=new JTextField(8);

jbb1=new JLabel("记录号");

jbb1.setFont(new Font(null,Font.PLAIN,20));

jbp1.add(jbb1);jbp1.add(JbTF1);

JbTF2=new JTextField(8);

jbb2=new JLabel("学号");

jbb2.setFont(new Font(null,Font.PLAIN,20));

jbp2.add(jbb2);jbp2.add(JbTF2);

JTextField JbTF3=new JTextField(4);

JLabel jbb3=new JLabel("变更代码");

jbb3.setFont(new Font(null,Font.PLAIN,20));

jbp3.add(jbb3);jbp3.add(JbTF3);

JbTF4=new JTextField(6);

jbb4=new JLabel("记录时间");

jbb4.setFont(new Font(null,Font.PLAIN,20));

jbp4.add(jbb4);jbp4.add(JbTF4);

JbTF5=new JTextField(11);

jbb5=new JLabel("描述");

jbb5.setFont(new Font(null,Font.PLAIN,20));

jbp5.add(jbb5);jbp5.add(JbTF5);

jbb=new JButton("输入");

Dimension preferredSize2 = new Dimension(136,20);

jbb.setPreferredSize(preferredSize2);

jbp5.add(jbb);

jbp.add(jbp1);jbp.add(jbp2);jbp.add(jbp3);jbp.add(jbp4);jbp.add(jbp5);

jbb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("输入")

&&!JbTF1.getText().isEmpty()

&&!JbTF2.getText().isEmpty()

&&!JbTF3.getText().isEmpty()

&&!JbTF4.getText().isEmpty()

&&!JbTF5.getText().isEmpty())

{

System.out.println("actionPerformed(). 输入");

String ID=JbTF1.getText().trim();

String SI=JbTF2.getText().trim();

String CE=JbTF3.getText().trim();

String R_T=JbTF4.getText().trim();

String DSRPIN=JbTF5.getText().trim();

String sql = "insert into chang(ID,STUDENTID,CHAN,REC_TIME,DSRPIN) values(";

sql=sql +ID+','+SI+','+CE+','+"'"+R_T+"'"+ ','+"'"+DSRPIN+"')";

System.out.println(sql);

new DbProcess2().executeUpdate(sql);

}

}

});

jcp=new JPanel();//return jcp;

jcp1=new JPanel();

jcp2=new JPanel();

jcp3=new JPanel();

jcp4=new JPanel();

jcp5=new JPanel();

JcTF1=new JTextField(8);

jcb1=new JLabel("记录号");

jcb1.setFont(new Font(null,Font.PLAIN,20));

jcp1.add(jcb1);jcp1.add(JcTF1);

JcTF2=new JTextField(8);

jcb2=new JLabel("学号");

jcb2.setFont(new Font(null,Font.PLAIN,20));

jcp2.add(jcb2);jcp2.add(JcTF2);

JcTF3=new JTextField(4);

jcb3=new JLabel("级别代码");

jcb3.setFont(new Font(null,Font.PLAIN,20));

jcp3.add(jcb3);jcp3.add(JcTF3);

JcTF4=new JTextField(6);

jcb4=new JLabel("记录时间");

jcb4.setFont(new Font(null,Font.PLAIN,20));

jcp4.add(jcb4);jcp4.add(JcTF4);

JcTF5=new JTextField(11);

jcb5=new JLabel("描述");

jcb5.setFont(new Font(null,Font.PLAIN,20));

jcp5.add(jcb5);jcp5.add(JcTF5);

jcb=new JButton("输入");

Dimension preferredSize3 = new Dimension(136,20);

jcb.setPreferredSize(preferredSize3);

jcp5.add(jcb);

jcp.add(jcp1);jcp.add(jcp2);jcp.add(jcp3);jcp.add(jcp4);jcp.add(jcp5);

jcb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("输入")

&&!JcTF1.getText().isEmpty()

&&!JcTF2.getText().isEmpty()

&&!JcTF3.getText().isEmpty()

&&!JcTF4.getText().isEmpty()

&&!JcTF5.getText().isEmpty())

{

System.out.println("actionPerformed(). 输入");

String ID=JcTF1.getText().trim();

String SI=JcTF2.getText().trim();

String LEVELS=JcTF3.getText().trim();

String R_T=JcTF4.getText().trim();

String DSRPIN=JcTF5.getText().trim();

String sql = "insert into reward(ID,STUDENTID,LEVELS,REC_TIME,DSRPIN) values(";

sql=sql +ID+','+SI+','+LEVELS+','+"'"+R_T+"'"+ ','+"'"+DSRPIN+"')";

System.out.println(sql);

new DbProcess2().executeUpdate(sql);

}

}

});

jdp=new JPanel();//return jdp;

jdp1=new JPanel();

jdp2=new JPanel();

jdp3=new JPanel();

jdp4=new JPanel();

jdp5=new JPanel();

jdp6=new JPanel();

JdTF1=new JTextField(8);

jdb1=new JLabel("记录号");

jdb1.setFont(new Font(null,Font.PLAIN,20));

jdp1.add(jdb1);jdp1.add(JdTF1);

JdTF2=new JTextField(8);

jdb2=new JLabel("学号");

jdb2.setFont(new Font(null,Font.PLAIN,20));

jdp2.add(jdb2);jdp2.add(JdTF2);

JdTF3=new JTextField(5);

jdb3=new JLabel("级别代码");

jdb3.setFont(new Font(null,Font.PLAIN,20));

jdp3.add(jdb3);jdp3.add(JdTF3);

JdTF4=new JTextField(6);

jdb4=new JLabel("记录时间");

jdb4.setFont(new Font(null,Font.PLAIN,20));

jdp4.add(jdb4);jdp4.add(JdTF4);

JdTF5=new JTextField(10);

jdb5=new JLabel("描述");

jdb5.setFont(new Font(null,Font.PLAIN,20));

jdp5.add(jdb5);jdp5.add(JdTF5);

JdTF6=new JTextField(4);

jdb6=new JLabel("是否生效");

jdb6.setFont(new Font(null,Font.PLAIN,20));

jdp6.add(jdb6);jdp6.add(JdTF6);

jdb=new JButton("输入");

Dimension preferredSize4 = new Dimension(136,20);

jdb.setPreferredSize(preferredSize4);

jdp.add(jdp1);jdp.add(jdp2);jdp.add(jdp3);jdp.add(jdp4);jdp.add(jdp5);jdp.add(jdp6);jdp.add(jdb);

jdb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("输入")

&&!JdTF1.getText().isEmpty()

&&!JdTF2.getText().isEmpty()

&&!JdTF3.getText().isEmpty()

&&!JdTF4.getText().isEmpty()

&&!JdTF5.getText().isEmpty()

&&!JdTF6.getText().isEmpty())

{

System.out.println("actionPerformed(). 输入");

String ID=JdTF1.getText().trim();

String SI=JdTF2.getText().trim();

String LEVELS=JdTF3.getText().trim();

String R_T=JdTF4.getText().trim();

String DSRPIN=JdTF5.getText().trim();

String ENABLE=JdTF6.getText().trim();

String sql = "insert into punishment(ID,STUDENTID,LEVELS,REC_TIME,ENABLE,DSRPIN) values(";

sql=sql +ID+','+SI+','+LEVELS+','+"'"+R_T+"'"+ ','+ "'" + ENABLE + "',"+"'"+DSRPIN+"')";

System.out.println(sql);

new DbProcess2().executeUpdate(sql);

}//输入级别为0-4之间不能超过4

}

});

jep=new JPanel();//return jep;

jep1=new JPanel();

jep2=new JPanel();

jep3=new JPanel();

jep4=new JPanel();

jep5=new JPanel();

jep6=new JPanel();

jep7=new JPanel();

jep8=new JPanel();

jep9=new JPanel();

jep10=new JPanel();

jep11=new JPanel();

jep12=new JPanel();

jep13=new JPanel();

JeTF1=new JTextField(8);

jeb1=new JLabel("学号");

jeb1.setFont(new Font(null,Font.PLAIN,20));

jep1.add(jeb1);jep1.add(JeTF1);

JeB1=new JButton("查询");

Dimension preferredSize5 = new Dimension(136,20);

JeB1.setPreferredSize(preferredSize5);

JeB1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("查询")&&!JeTF1.getText().trim().isEmpty())

{

String sql=JeTF1.getText().trim();

queryall(sql);

}

}

});

jep2.add(JeB1);

JeB2=new JButton("修改");

Dimension preferredSize6 = new Dimension(136,20);

JeB2.setPreferredSize(preferredSize6);

JeB2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("修改")&&!JeTF1.getText().trim().isEmpty())

{

String sql=JeTF1.getText().trim();

changeall(sql);

}

}

});

jep3.add(JeB2);

JeTF4=new JTextField(8);

jeb4=new JLabel("学籍变动");

jeb4.setFont(new Font(null,Font.PLAIN,20));

jep4.add(jeb4);jep4.add(JeTF4);

JeTF5=new JTextField(8);

jeb5=new JLabel("记录时间");

jeb5.setFont(new Font(null,Font.PLAIN,20));

jep5.add(jeb5);jep5.add(JeTF5);

JeTF6=new JTextField(8);

jeb6=new JLabel("描述");

jeb6.setFont(new Font(null,Font.PLAIN,20));

jep6.add(jeb6);jep6.add(JeTF6);

JeTF7=new JTextField(8);

jeb7=new JLabel("奖励");

jeb7.setFont(new Font(null,Font.PLAIN,20));

jep7.add(jeb7);jep7.add(JeTF7);

JeTF8=new JTextField(8);

jeb8=new JLabel("记录时间");

jeb8.setFont(new Font(null,Font.PLAIN,20));

jep8.add(jeb8);jep8.add(JeTF8);

JeTF9=new JTextField(8);

jeb9=new JLabel("描述");

jeb9.setFont(new Font(null,Font.PLAIN,20));

jep9.add(jeb9);jep9.add(JeTF9);

JeTF10=new JTextField(4);

jeb10=new JLabel("处罚");

jeb10.setFont(new Font(null,Font.PLAIN,20));

jep10.add(jeb10);jep10.add(JeTF10);

JeTF11=new JTextField(3);

jeb11=new JLabel("记录时间");

jeb11.setFont(new Font(null,Font.PLAIN,20));

jep11.add(jeb11);jep11.add(JeTF11);

JeTF12=new JTextField(8);

jeb12=new JLabel("描述");

jeb12.setFont(new Font(null,Font.PLAIN,20));

jep12.add(jeb12);jep12.add(JeTF12);

JeTF13=new JTextField(2);

jeb13=new JLabel("是否生效");

jeb13.setFont(new Font(null,Font.PLAIN,20));

jep13.add(jeb13);jep13.add(JeTF13);

jep.add(jep1);jep.add(jep2);jep.add(jep3);

jep.add(jep4);jep.add(jep5);jep.add(jep6);

jep.add(jep7);jep.add(jep8);jep.add(jep9);

jep.add(jep10);jep.add(jep11);jep.add(jep12);jep.add(jep13);

JTP=new JTabbedPane();

JTP.addTab("学生个人信息输入界面 ",jap);

JTP.addTab("学籍变更情况输入界面",jbp);

JTP.addTab("奖励信息输入界面",jcp);

JTP.addTab("处罚情况输入界面",jdp);

JTP.addTab("学生个人情况查询和修改界面",jep);

JTP.addChangeListener(new ChangeListener() {

@Override

public void stateChanged(ChangeEvent e) {

System.out.println("当前选中的选项卡: " + JTP.getSelectedIndex());

}

});

// 设置默认选中的选项卡

JTP.setSelectedIndex(0);

this.add(JTP);

this.setLayout(new GridLayout(2, 1));

this.setContentPane(JTP);

this.setSize(600,400);

this.setLocation(400, 180);

this.setTitle("学生信息管理系统");

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String args[]){

// TODO Auto-generated method stub

QUESTIONONE2 hh= new QUESTIONONE2();

}

public void queryall(String sql)

{

String s1="select change_code.DSRPIN,chang.REC_TIME,chang.DSRPIN as REASON from chang join change_code on change_code.CODE = chang.CHAN";

s1=s1+" where STUDENTID = "+sql;

String s2="select reward_levels.DSRPIN,reward.REC_TIME,reward.DSRPIN as REASON from reward join reward_levels on reward_levels.CODE=reward.LEVELS";

s2=s2+" where STUDENTID = "+sql;

String s3="select punish_levels.DSRPIN,punishment.REC_TIME,punishment.DSRPIN as REASON,punishment.ENABLE from punishment join punish_levels on punish_levels.CODE=punishment.LEVELS";

s3=s3+" where STUDENTID = "+sql;

try{

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

ResultSet RS1=dbprocess.sta.executeQuery(s1);

while(RS1.next())

{

String P1=RS1.getString("DSRPIN");

String P2=RS1.getString("REC_TIME");

String P3=RS1.getString("REASON");

System.out.println(P1);System.out.println(P2);System.out.println(P3);

JeTF4.setText(P1);JeTF5.setText(P2);JeTF6.setText(P3);

}

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

try {

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

ResultSet RS1=dbprocess.sta.executeQuery(s2);

while(RS1.next())

{

String P4=RS1.getString("DSRPIN");

String P5=RS1.getString("REC_TIME");

String P6=RS1.getString("REASON");

System.out.println(P4);System.out.println(P5);System.out.println(P6);

JeTF7.setText(P4);JeTF8.setText(P5);JeTF9.setText(P6);

}

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

try {

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

ResultSet RS1=dbprocess.sta.executeQuery(s3);

while(RS1.next())

{

String P7=RS1.getString("DSRPIN");

String P8=RS1.getString("REC_TIME");

String P9=RS1.getString("REASON");

String P10=RS1.getString("ENABLE");

System.out.println(P7);System.out.println(P8);System.out.println(P9);

JeTF10.setText(P7);JeTF11.setText(P8);JeTF12.setText(P9);JeTF13.setText(P10);

}

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

}

public void changeall(String sql)

{

String changchan=JeTF4.getText();

String changtime=JeTF5.getText();

String changedes=JeTF6.getText();

String rew=JeTF7.getText();

String rewtime=JeTF8.getText();

String rewdesc=JeTF9.getText();

String pun=JeTF10.getText();

String puntime=JeTF11.getText();

String pundesc=JeTF12.getText();

String punfun=JeTF13.getText();

String d1="delete from chang where STUDENTID = ";

d1=d1+sql;;

System.out.println(d1);

String a1="insert into chang(STUDENTID,CHAN,REC_TIME,DSRPIN) values ("

+ sql +","+ changchan +","+"'" +changtime+"','"+changedes+ "') ";

System.out.println(a1);

String d2="delete from reward where STUDENTID = ";

d2=d2+sql;

System.out.println(d2);

String a2="insert into reward(STUDENTID,LEVELS,REC_TIME,DSRPIN) values("

+ sql + "," + rew + ",'" + rewtime + "','" + rewdesc + "')";

System.out.println(a2);

String d3="delete from punishment where STUDENTID = ";

d3=d3+sql;

System.out.println(d3);

String a3="insert into punishment(STUDENTID,LEVELS,REC_TIME,ENABLE,DSRPIN) values("

+ sql + "," + pun + ",'" + puntime +"','" + punfun +"','" + pundesc + "')" ;

System.out.println(a3);

try {

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

dbprocess.sta.execute(d1);

dbprocess.sta.execute(a1);

JeTF4.setText("");JeTF5.setText("");JeTF6.setText("");

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

try {

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

dbprocess.sta.execute(d2);

dbprocess.sta.execute(a2);

JeTF7.setText("");JeTF8.setText("");JeTF9.setText("");

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

try {

dbprocess.connect();

dbprocess.sta=dbprocess.con.createStatement();

dbprocess.sta.execute(d3);

dbprocess.sta.execute(a3);

JeTF10.setText("");JeTF11.setText("");JeTF12.setText("");JeTF13.setText("");

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

dbprocess.disconnect();

}

}

第二个文件:DbProcess2.java

package ZTY;

import java.sql.*;

import ZTY.QUESTIONONE;

public class DbProcess2{

public Connection con = null;public Statement sta=null;

static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost:3306/q1?useSSL=false&serverTimezone=UTC";

static final String USER = "root";

static final String PASS = "............";

public DbProcess2(){

try {

//mysql数据库设置驱动程序类型

Class.forName(JDBC_DRIVER);

System.out.println("连接数据库...");

System.out.println("mysql数据库驱动加载成功");

}

catch(java.lang.ClassNotFoundException e)

{

e.printStackTrace();

}

}

public void executeUpdate(String sql)

{

connect();

try{

sta=con.createStatement();

sta.execute(sql);

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

disconnect();

}

public void queryall(String sql)

{

connect();

String s1="select change_code.DSRPIN,chang.REC_TIME,chang.DSRPIN as REASON from chang join change_code on change_code.CODE = chang.CHAN";

s1=s1+" where STUDENTID = "+sql;

System.out.println(s1);

String s2="select reward_levels.DSRPIN,reward.REC_TIME,reward.DSRPIN as REASON from reward join reward_levels on reward_levels.CODE=reward.LEVELS";

s2=s2+" where STUDENTID = "+sql;

System.out.println(s2);

String s3="select punish_levels.DSRPIN,punishment.REC_TIME,punishment.DSRPIN as REASON,punishment.ENABLE from punishment join punish_levels on punish_levels.CODE=punishment.LEVELS";

s3=s3+" where STUDENTID = "+sql;

System.out.println(s3);

try{

sta=con.createStatement();

ResultSet RS1=sta.executeQuery(s1);

while(RS1.next())

{

String P1=RS1.getString("DSRPIN");

String P2=RS1.getString("REC_TIME");

String P3=RS1.getString("REASON");

System.out.println(P1);System.out.println(P2);System.out.println(P3);

}

}

catch(SQLException ex) {

System.err.println(ex.getMessage());

}

disconnect();

}

public void connect()

{

try{

//mysql数据库

con = DriverManager.getConnection(DB_URL,USER,PASS);

if(con!=null){

System.out.println("数据库连接成功");

}

}

catch(Exception e){

e.printStackTrace();

}

}

public void disconnect(){

try{

if(con != null){

System.out.println("数据库断开成功");

con.close();

con = null;

}

}

catch(Exception e){

e.printStackTrace();

}

}

}

网上教学系统mysql课程设计_基于学生信息管理系统的数据库系统课程设计(MySQL)...相关推荐

  1. 基于学生信息管理系统的数据库系统课程设计(MySQL)

    2022-12-04更新: 时隔上次更新已过去快两年,期间不少小伙伴私信问源代码啥的.因此在原版基础上修复,完成最终优化版,主要是代码优化和引入新的javaswing用法~,如有疑问欢迎评论区留言交流 ...

  2. 教师工作量管理系统设计_关于学生信息管理系统数据库的课程设计

    一.概述 学生信息管理系统是学校管理的重要工具,是学校不可或缺的一部分.随着在校人数的不断增加,教务系统的数量也不断的上涨.学校工作繁杂,资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需 ...

  3. 学生信息管理系统c语言讲解,学生信息管理系统C语言课程设计讲解.doc

    课 程 设 计 报 告 课程名称 C语言程序设计 课题名称 学生信息管理系统 专 业 机械 班 级 02 学 号 20 姓 名 刘某某 指导教师 肖伟平 何宏 郭芳 2012年 12 月 19 日 湖 ...

  4. java-jsp基于学生信息管理系统93nbx[独有源码]如何找到适合自己的毕业设计的指南

    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考. 系统的选题背景和意义 选题背景: 学生信息管理系统是一种用于管理学生信息的软件系统,它可以帮助学校. ...

  5. 基于PHP+MySQL学生信息管理系统的开发与设计

    一直以来我国领导人提倡以人为本的治国方案,而大学是未来人才的培养基地,如何能够更好的对学生信息进行管理,是很多高校一直在研究的一个问题,只有更加科学的对学生信息进行管理,才能够更加积极的培养国家的栋梁 ...

  6. 添加老师信息的php学生信息管理,PHP+MySQL学生信息管理系统的开发与设计

    一直以来我国领导人提倡以人为本的治国方案,而大学是未来人才的培养基地,如何能够更好的对学生信息进行管理,是很多高校一直在研究的一个问题,只有更加科学的对学生信息进行管理,才能够更加积极的培养国家的栋梁 ...

  7. 学生卡管理系统 学生信息管理系统 C语言课程设计

    一.设计目的 通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力:同时也可以通过查询相关资料,培养学生自学能力.接受新知识的能力,提高学习兴趣: ...

  8. 计算机信息管理是学什么课程设计,毕业论文计算机专业学生信息管理系统(数据库课程设计)...

    毕业论文计算机专业学生信息管理系统(数据库课程设计) (70页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 兰州石化职业技术学院毕业设计( ...

  9. java响应式网页设计_基于HTML5的响应式网站的设计与实现(论文).docx

    毕业论文 基于HTML5的响应式网站的设计与实现 摘 要 随着网络的发展和普及,各类建站技术的更新与运用,现在搭建一个网站的时间和成本越来越低,使得企业官方网站得到了极大的发展.从早期简单的网页展示, ...

最新文章

  1. 变换为json类型却遭遇乱码\u516c\u5f00\u65e5\u671f
  2. 在DWZ框架中整合kindeditor复文本框控件
  3. 什么是.Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT
  4. Vue子组件与父组件之间的通信
  5. python爬虫 隐藏身份及设置代理
  6. 收藏:flex/flash
  7. spark应用程序转换_Spark—RDD编程常用转换算子代码实例
  8. mysql分库分表面试_【53期】面试官:谈一下数据库分库分表之后,你是如何解决事务问题?...
  9. Linux安装中文总是提示失败,AnyBackup-Linux 客户端安装失败,提示错误信息:Self IP Address is invalid...
  10. 删掉centos原有的openjdk并安装sun jdk
  11. gateway请求拦截_gateway 网关(转发,跨域,拦截器等)
  12. c语言语法语义解析器,一个简单的C语言词法分析与语法分析器【原】
  13. 网络检测之(MTR WinMTR )网络链路追踪公路
  14. Dhtmlx Gantt如何LightBox自定义表单元素
  15. 计算机网络微课笔记03
  16. 湖北二本大学计算机排名,2017年二本大学排名及分数线(湖北省)
  17. Android入门之把窗口信息传递给InputDispatcher
  18. 当你部署tomcat遇到HTTP Status 500的时候
  19. 《动手学深度学习》笔记---3.16
  20. Noise2Noise:Learning Image Restoration without Clean Data读书笔记

热门文章

  1. RAC - RACSignal
  2. 计算机正确的按键手法游戏,lol正确的按键手法图解
  3. 红米Redmi K40手机刷入Magisk获取Root教程
  4. python制作冰花_小学作文制作冻冰花
  5. .NET开发邮件发送功能的全面教程(含邮件组件源码)
  6. Java - String是最基本的数据类型吗?
  7. 运维的一些日常知识点
  8. mac地址是由多少个bit组成_MAC地址是什么,MAC地址是怎么构成的,MAC地址占多少位,作用如何? 简单答案!!...
  9. 三种设置session有效时间的方法
  10. 前端吃香还是后端吃香?