学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生
的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。
1.1 系统功能分析
本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统
的主要功能有:
学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。
学生流动情况的输入,包括:转系、休学、复学、退学、毕业。
奖惩情况的输入。
学生个人情况查询和修改,包括流动情况和奖罚情况。
1.2 系统功能模块设计(划分)
根据系统功能要求可以将系统分解成几个模
块来分别设计应用程序界面,如图 1 所示。
1.3 与其它系统的关系
学生信息管理系统是校园信息管理系统的一
个组成部分。它为其它系统,如班级信息管理系统、
教学管理系统、成绩单系统、宿舍分配系统等,提供学生的基本情况。同时需要其他系统提
供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数
据。
2.1 数据库需求分析
根据上一节的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:
学生:学号、姓名、性别、生日、籍贯、所在院系、所在班级。
处罚记录:记录号、级别、处罚对象、记录时间、详细描述、是否生效。
奖励记录:记录号、级别、奖励对象、记录时间、详细描述。
学籍变更记录:记录号、变更情况、记录对象、记录时间、详细描述。
图 1、学生信息管理系统功能模块图
所需的外部数据支持:
班级:班级编号、班级名称、所属院系。
院系:代码、名称。
2.2 数据库概念结构设计
图 3 是本系统所需数据的 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.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();
}
}
}