数据库课设之学生信息管理系统

一、系统需求分析

学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生
的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。

1.1 系统功能分析
本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统
的主要功能有:
a、学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。
b、学生流动情况的输入,包括:转系、休学、复学、退学、毕业。
c、奖惩情况的输入。
d、学生个人情况查询和修改,包括流动情况和奖罚情况。

1.2 系统功能模块设计(划分)
根据系统功能要求可以将系统分解成几个模
块来分别设计应用程序界面,如图 1 所示。

1.3 与其它系统的关系
学生信息管理系统是校园信息管理系统的一个组成部分。它为其它系统,如班级信息管理系统、
教学管理系统、成绩单系统、宿舍分配系统等,提供学生的基本情况。同时需要其他系统提
供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数
据。

1.4 数据流程图
学生信息管理系统的数据流程如图 2 所示。

二、数据库设计

2.1 数据库需求分析
根据上一节的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:
a、学生:学号、姓名、性别、生日、籍贯、所在院系、所在班级。
b、处罚记录:记录号、级别、处罚对象、记录时间、详细描述、是否生效。
c、奖励记录:记录号、级别、奖励对象、记录时间、详细描述。
d、学籍变更记录:记录号、变更情况、记录对象、记录时间、详细描述。
所需的外部数据支持:
e、班级:班级编号、班级名称、所属院系。
f、院系:代码、名称。

2.2 数据库概念结构设计
图 3 是本系统所需数据的 E-R 模型图。

三、各功能模块的设计与实现

3.1 功能说明
1、学生个人信息输入
2、学籍变更情况的输入
3、奖励情况的输入
4、处罚情况的输入
5、学生个人情况查询和修改

3.2 用户界面设计
完成数据库创建和功能说明以后,我们可以进行下一步工作,即设计用户界面。由于本
系统管理内容比较简单,且为校园管理信息系统的一部分,因此使用一个窗体不同的标签页
来完成系统要求的 5 项功能。
我们把学生信息管理系统的窗体分成____个主要部分,如图____所示。
1、应用程序主窗体的创建
2、学生个人信息输入界面
3、学籍变更情况输入界面
4、奖励情况输入界面
5、处罚情况输入界面
6、学生个人情况查询和修改界面

3.3 各功能模块的实现
1、学生个人信息输入
2、学籍变更情况输入
3、奖励情况输入
4、处罚情况输入
5、学生个人情况查询和修改

四、系统实现

根据系统E-R图,需要设计4个数据表来存放学生的信息。为了系统的完整,系统中包括了应用程序设计中所需的4个外部数据表。为了优化数据表结构,部分字段采用代码形式,因此需要附加3个代码表。这11个数据表如表1到表11所示。

表1 student学生个人信息表

表2 studentxj学籍变更信息表

表3 reward奖励记录信息表

表4 punishment处罚记录信息表

表5 class班级信息表

表6 department院系信息表

表7 change_code学籍变动代码表

表8 reward_levels奖励等级代码表

表9 punish_levels处罚等级代码表

表10 studentdlb学生账号密码登录表

表11 teacherdlb老师账号密码登录表

4.1、学生和教务办老师的账号密码登陆界面
学生和教务办老师的账号密码登陆界面请见如图3-1学生和教务办老师的账号密码登陆界面。这个界面是进入学生信息管理系统的钥匙并且设置了教务办老师和学生两个权限,为了实现不同权限的登录功能,所以在数据库中设计了学生账号密码登录表和老师账号密码登录表两个表格,然后用户可以选择自己的身份权限输入自己的账号密码进行登录,然后系统通过连接数据库的两个表格去和用户输入的账号密码去相应匹配,只有匹配成功之后才会出现不同的用户主界面,然后才可以进行数据操作。(用户名的填写格式界面文本框有提示)
实现学生和教务办老师的账号密码登陆界面的全部代码:

package xr06;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.*;import xr06.DbProcess;
public class Student_management_login_system extends JFrame implements ActionListener {JButton jb1,jb2,jb3=null;  JRadioButton jrb1,jrb2=null;  JPanel jp0,jp1,jp2,jp3,jp4=null;  JTextField jtf=null;  JLabel jlb0,jlb1,jlb2,jlb3=null;  JPasswordField jpf=null;  ButtonGroup bg=null;private static DbProcess dbProcess;public static void main(String[] args) {  Student_management_login_system smls=new Student_management_login_system();  }  public Student_management_login_system(){setIconImage(Toolkit.getDefaultToolkit().getImage("G:\\timg-1.jpg"));//图片可以自己选择换jb1=new JButton("登录 (login)");  jb1.setBounds(32, 5, 150, 27);jb1.setBackground(Color.ORANGE);jb2=new JButton("重置 (resetting)"); jb2.setBounds(196, 5, 204, 27);jb2.setBackground(Color.ORANGE);jb3=new JButton("退出 (exit)");jb3.setBounds(414, 5, 150, 27);jb3.setForeground(Color.BLACK);jb3.setBackground(Color.ORANGE);jb1.addActionListener(this);  jb2.addActionListener(this);  jb3.addActionListener(this);  jrb1=new JRadioButton("教务办老师 (teacher)");  jrb1.setFont(new Font("宋体", Font.BOLD, 15));jrb1.setBounds(216, 30, 201, 27);jrb1.setBackground(new Color(255, 255, 153));jrb2=new JRadioButton("学生 (student)");  jrb2.setFont(new Font("宋体", Font.BOLD, 15));jrb2.setBounds(423, 30, 163, 27);jrb2.setBackground(new Color(255, 255, 153));bg=new ButtonGroup();  bg.add(jrb1);  bg.add(jrb2);  jrb2.setSelected(true);jp0=new JPanel(); jp0.setBounds(0, 0, 602, 100);jp0.setBackground(new Color(255, 255, 153));jp1=new JPanel();  jp1.setBounds(0, 99, 602, 55);jp1.setBackground(new Color(255, 255, 153));jp2=new JPanel();  jp2.setBounds(0, 152, 602, 70);jp2.setBackground(new Color(255, 255, 153));jp3=new JPanel();  jp3.setBounds(0, 221, 602, 86);jp3.setBackground(new Color(255, 255, 153));jp4=new JPanel(); jp4.setBounds(0, 307, 602, 93);jp4.setBackground(new Color(255, 255, 153));jlb0=new JLabel("\u5B66\u751F\u4FE1\u606F\u7BA1\u7406\u7CFB\u7EDF");jlb0.setFont(new Font("方正舒体", Font.BOLD, 40));jlb0.setBounds(129, 36, 351, 51);jlb1=new JLabel("用户名 (user name):");  jlb1.setFont(new Font("宋体", Font.BOLD, 18));jlb1.setBounds(54, 25, 236, 18);jlb2=new JLabel("\u5BC6  \u7801 (pass-word)\uFF1A");  jlb2.setFont(new Font("宋体", Font.BOLD, 18));jlb2.setBounds(54, 35, 227, 18);jlb3=new JLabel("\u8EAB   \u4EFD (Identity)\uFF1A"); jlb3.setFont(new Font("宋体", Font.BOLD, 15));jlb3.setBounds(29, 26, 201, 34);jtf=new JTextField(15);  jtf.setBounds(253, 24, 281, 24);jpf=new JPasswordField(15); jpf.setBounds(253, 34, 281, 24);jtf.addFocusListener(new JTextFieldHintListener("请输入学号/教职工号", jtf));jp0.setLayout(null);jp0.add(jlb0);jp1.setLayout(null);jp1.add(jlb1);  jp1.add(jtf);  jp2.setLayout(null);jp2.add(jlb2);  jp2.add(jpf);  jp3.setLayout(null);jp3.add(jlb3);      //添加标签jp3.add(jrb1);  jp3.add(jrb2);  jp4.setLayout(null);jp4.add(jb1);       //添加按钮jp4.add(jb2);  jp4.add(jb3);getContentPane().setLayout(null);getContentPane().add(jp0);getContentPane().add(jp1);  getContentPane().add(jp2);  getContentPane().add(jp3);  getContentPane().add(jp4);this.setTitle("学生信息管理系统 ");          this.setSize(605,433);         this.setLocation(700, 300);           this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //设置当关闭窗口时,保证JVM也退出 this.setVisible(true);  this.setResizable(false); }public void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("登录 (login)")  && !jtf.getText().isEmpty()&&!jpf.getText().isEmpty()){System.out.println("actionPerformed(). 登录 (login)");String jtfQueryField = jtf.getText().trim();String jpfQueryField = jpf.getText().trim();queryProcess(jtfQueryField,jpfQueryField);}else if(e.getActionCommand().equals("登录 (login)")  && jtf.getText().isEmpty()&&!jpf.getText().isEmpty()){JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  }//只有用户名没有输入else if(e.getActionCommand().equals("登录 (login)")  && jtf.getText().isEmpty()&& jpf.getText().isEmpty()){JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);  }//用户名和密码都没有输入else if(e.getActionCommand().equals("登录 (login)")  && !jtf.getText().isEmpty()&&jpf.getText().isEmpty()){JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);  }//只有密码没有输入else if(e.getActionCommand().equals("重置 (resetting)")){jtf.setText("");  jpf.setText("");  }else{int n=JOptionPane.showConfirmDialog(null,"确定退出系统登陆界面?", "学生信息管理系统",JOptionPane.YES_NO_OPTION);if(n==0) {this.setVisible(false);}}}   public void queryProcess(String jtfQueryField,String jpfQueryField){if(jrb1.isSelected())  {  try{// 建立查询条件String jtfsql = "select * from teacherdlb where ";jtfsql = jtfsql + "tuserNo";jtfsql = jtfsql + " = ";jtfsql = jtfsql + "'" + jtfQueryField + "';";System.out.println("queryProcess(). jtfsql = " + jtfsql);dbProcess = new DbProcess();dbProcess.connect();ResultSet jtfrs = dbProcess.executeQuery(jtfsql);jtfrs.next();System.out.print(jpfQueryField);if(jtfrs.getString("tuserNo").equals(jtfQueryField)&&jtfrs.getString("tpswd").equals(jpfQueryField))  {            JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);           dispose();        jtf.setText("");  jpf.setText("");             Teacher t=new Teacher();       //创建新界面  }else {  JOptionPane.showMessageDialog(null,"密码错误!请重新输入密码!","提示消息",JOptionPane.WARNING_MESSAGE); jpf.setText("");}dbProcess.disconnect();}catch(SQLException sqle){System.out.println("sqle = " + sqle);JOptionPane.showMessageDialog(null,"用户名或者密码错误!","错误",JOptionPane.ERROR_MESSAGE);}catch(Exception e){System.out.println("e = " + e);JOptionPane.showMessageDialog(null,"用户名或者密码错误!","错误",JOptionPane.ERROR_MESSAGE);}                              //连接到教师的方法 页面}if(jrb2.isSelected()) //学生在登录系统  {  try{// 建立查询条件String jtfsql = "select * from studentdlb where ";jtfsql = jtfsql + "suserNo";jtfsql = jtfsql + " = ";jtfsql = jtfsql + "'" + jtfQueryField + "';";System.out.println("queryProcess(). jtfsql = " + jtfsql);dbProcess = new DbProcess();dbProcess.connect();ResultSet jtfrs = dbProcess.executeQuery(jtfsql);jtfrs.next();System.out.print(jpfQueryField);if(jtfrs.getString("suserNo").equals(jtfQueryField)&&jtfrs.getString("spswd").equals(jpfQueryField))  {            JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);           dispose();        jtf.setText("");  jpf.setText("");             Student ui=new Student();      //创建新界面  }else {  JOptionPane.showMessageDialog(null,"密码错误!请重新输入密码!","提示消息",JOptionPane.WARNING_MESSAGE); jpf.setText("");}dbProcess.disconnect();}catch(SQLException sqle){System.out.println("sqle = " + sqle);JOptionPane.showMessageDialog(null,"用户名或者密码错误!","错误",JOptionPane.ERROR_MESSAGE);}catch(Exception e){System.out.println("e = " + e);JOptionPane.showMessageDialog(null,"用户名或者密码错误!","错误",JOptionPane.ERROR_MESSAGE);}                              //连接到学生的方法 页面}  }}

图3-1学生和教务办老师的账号密码登陆界面

4.2、学生用户主界面
学生用户主界面请见如图3-2学生用户主界面。首先这个界面是在选择学生权限用户登录之后出现的,这个界面可以供用户选择查询各式个人信息以及了解学校学院相关的一些常识或者退出系统(点击相应的按钮,然后会出现相应的功能界面),同时为了使界面更加优化,特别插入了“超越梦想”为主题的图片,希望学生用户能够好好提升自己,为梦想努力奋斗,超越自我,迎来美丽人生。
实现学生用户主界面的全部代码:

package xr06;
import java.util.Vector;
import java.awt.BorderLayout;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import java.awt.Toolkit;public class Student extends JFrame implements ActionListener {private JPanel contentPane;/*** Launch the application.*/public static void main(String[] args) {Student ui=new Student();}/*** Create the frame.*/public Student() {setIconImage(Toolkit.getDefaultToolkit().getImage("G:\\timg-1.jpg"));//插入图片this.setResizable(false);setTitle("学生信息管理系统");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(700, 320, 579, 409);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JPanel panel = new JPanel();panel.setBackground(new Color(255, 255, 153));panel.setBounds(0, 0, 573, 374);contentPane.add(panel);panel.setLayout(null);JLabel lblNewLabel = new JLabel("同学你好!欢迎登陆学生信息管理系统");lblNewLabel.setFont(new Font("宋体", Font.BOLD, 20));lblNewLabel.setForeground(new Color(255, 255, 0));lblNewLabel.setBounds(94, 24, 366, 32);panel.add(lblNewLabel);JButton button_1 = new JButton("个人信息查询");button_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {dispose();Personcx px = new Personcx();}});button_1.setBounds(86, 90, 167, 32);panel.add(button_1);JButton button_2 = new JButton("个人奖励记录");button_2.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();Personjl xj = new Personjl();}});button_2.setBounds(86, 148, 167, 32);panel.add(button_2);JButton button_3 = new JButton("个人学籍变更记录");button_3.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();Personxj xj = new Personxj();}});button_3.setBounds(293, 90, 167, 32);panel.add(button_3);JButton button_4 = new JButton("个人处分记录");button_4.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();Personcf cf = new Personcf();}});button_4.setBounds(293, 148, 167, 32);panel.add(button_4);JButton button_5 = new JButton("退出");button_5.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {int n=JOptionPane.showConfirmDialog(null,"确定退出该系统?", "学生信息管理系统",JOptionPane.YES_NO_OPTION);if(n==0) {dispose();Student_management_login_system sm=new Student_management_login_system();}}});button_5.setForeground(Color.RED);button_5.setBounds(293, 206, 167, 32);panel.add(button_5);JLabel label = new JLabel("         温馨提示:新生个人登陆系统之后请先查看入学须知");label.setFont(new Font("宋体", Font.PLAIN, 16));label.setForeground(new Color(153, 255, 51));label.setBounds(25, 277, 487, 41);panel.add(label);JButton button = new JButton("入学须知");button.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();Personrx rx = new Personrx();}});button.setBounds(86, 206, 167, 32);panel.add(button);JLabel lblNewLabel_1 = new JLabel("New label");lblNewLabel_1.setIcon(new ImageIcon("C:\\Users\\\u8C22\u5112\\Pictures\\Camera Roll\\29755920_1478787143469_1024x1024.jpg"));lblNewLabel_1.setBounds(0, 0, 573, 400);panel.add(lblNewLabel_1);this.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}
}

图3-2学生用户主界面

3.3、老师学生账号密码界面
老师学生账号密码界面请见如图3-3老师学生账号密码界面。这个界面的设计同样是专门为教务办用户设计,能通过点击全部查询,查询到系统录入的所有同学和教务办老师的账号密码,这个界面信息显示也采用了多表查询,将学生账号密码登录表、老师账号密码登录表两个表格联合查询;然后也可以通过下拉框选择相应想要选择查询的内容比如老师账号,然后点击查询获取相对应的老师账号密码信息。如果修改了账号和密码点击更新按钮,又确认实施该操作,那么会退出系统返回到原始登录界面,其它按钮的功能同上。
实现老师学生账号密码界面的全部代码:

package xr06;
import java.util.Vector;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import org.omg.CORBA.PUBLIC_MEMBER;
import java.awt.color.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.ResultSet;
import java.sql.SQLException;public class Studentzh extends JFrame implements ActionListener {// 定义基本信息组件JLabel jLStudentxjTable = null;// 学生学籍表JLabel jLSelectQueryField = null;// 选择JLabel mh = null;// :JLabel teacherzh = null;// 老师账号JLabel teachermm = null;// 老师密码JLabel studentzh = null;// 学生账号JLabel studentmm = null;// 学生密码JLabel ms = null;// 描述JLabel dm = null;// 代码JLabel sm = null;// 说明/// 定义文本框JTextField jTFQueryField = null;// 查询字段JTextField jTFSTz = null;// 老师账号JTextField jTFSTP = null;// 老师密码JTextField jTFSSZ = null;// 学生账号JTextField jTFSSP = null;// 学生密码JTextField jTFSDES = null;// 描述JTextField jTFSCode = null;// 代码JTextField jTFSsm = null;// 说明// 定义按钮JButton jb5 = null;// 顶部选择的四个表+1个菜单JButton jBQuery = null;// 查询JButton jBQueryAll = null;// 查询所有记录JButton jBInsert = null;// 插入JButton jBUpdate = null;// 更新JButton jBDeleteCurrentRecord = null;// 删除当前记录JButton jBDeleteAllRecords = null;// 删除所有记录JButton EXIT = null;// 退出// 定义其他JComboBox<String> jCBSelectQueryField = null;// 查询字段JComboBox<String> jCBsexQueryField = null;// JPanel jP1, jP2, jP3, jP4, jP5, jP6, jP8 = null;JPanel jPTop, jPBottom = null;DefaultTableModel studentTableModel = null;JTable studentJTable = null;JScrollPane studentJScrollPane = null;Vector studentVector = null;Vector titleVector = null;private static DbProcess dbProcess;String SelectQueryFieldStr = "老师账号";public static void main(String[] args) {Studentzh ss = new Studentzh();}// ****************************事件判断**********************public Studentzh() {setIconImage(Toolkit.getDefaultToolkit().getImage("G:\\timg-1.jpg"));this.setResizable(false);jLSelectQueryField = new JLabel("选择");jLSelectQueryField.setBounds(5, 9, 30, 18);mh = new JLabel(" : ");mh.setBounds(192, 9, 24, 18);teacherzh = new JLabel("老师账号:");teacherzh.setBounds(5, 25, 68, 18);teachermm = new JLabel("老师密码:");teachermm.setBounds(323, 25, 68, 18);// 文本框创建jTFQueryField = new JTextField(10);// 查询字段jTFQueryField.setBounds(214, 6, 106, 24);jTFSTz = new JTextField(15);// 老师账号jTFSTz.setBounds(79, 18, 215, 24);jTFSTP = new JTextField(15);// 老师密码jTFSTP.setBounds(395, 18, 215, 24);jBQuery = new JButton("查询选择内容");jBQuery.setBounds(334, 5, 155, 27);jBQuery.setFont(new Font("宋体", Font.BOLD, 15));jBQueryAll = new JButton("查询所有记录");jBQueryAll.setBounds(503, 5, 155, 27);jBQueryAll.setFont(new Font("宋体", Font.BOLD, 15));jBQuery.addActionListener(this);jBQueryAll.addActionListener(this);// 建立下拉框jCBSelectQueryField = new JComboBox<String>();// 查询字段jCBSelectQueryField.setBounds(37, 6, 155, 24);jCBSelectQueryField.addItem("老师账号");jCBSelectQueryField.addItem("老师密码");jCBSelectQueryField.addItem("学生账号");jCBSelectQueryField.addItem("学生密码");jCBSelectQueryField.addItemListener(new ItemListener() {// 下拉框事件监听public void itemStateChanged(ItemEvent event) {switch (event.getStateChange()) {case ItemEvent.SELECTED:SelectQueryFieldStr = (String) event.getItem();System.out.println("选中:" + SelectQueryFieldStr);break;case ItemEvent.DESELECTED:System.out.println("取消选中:" + event.getItem());break;}}});studentVector = new Vector();titleVector = new Vector();// 定义表头titleVector.add("老师账号");titleVector.add("老师密码");titleVector.add("学生账号");titleVector.add("学生密码");studentJTable = new JTable(studentVector, titleVector);studentJTable.setPreferredScrollableViewportSize(new Dimension(400, 160));studentJScrollPane = new JScrollPane(studentJTable);studentJScrollPane.setBounds(0, 0, 480, 172);// 分别设置水平和垂直滚动条自动出现studentJScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);studentJScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);// 为表格添加监听器studentJTable.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {int row = ((JTable) e.getSource()).rowAtPoint(e.getPoint()); // 获得行位置System.out.println("mouseClicked(). row = " + row);Vector v = new Vector();v = (Vector) studentVector.get(row);jTFSTz.setText((String) v.get(0));// 老师账号jTFSTP.setText((String) v.get(1));// 老师密码jTFSSZ.setText((String) v.get(2));// 学生账号jTFSSP.setText((String) v.get(3));// 学生密码}});jP1 = new JPanel();jP1.setBounds(356, 17, 8, 2);jP3 = new JPanel();jP3.setBounds(98, 55, 480, 172);jP3.setBackground(new Color(204, 51, 0));jP4 = new JPanel();jP4.setBackground(new Color(255, 255, 102));jP4.setBounds(0, 13, 682, 45);jP5 = new JPanel();jP5.setBackground(new Color(255, 255, 153));jP5.setBounds(0, 69, 682, 45);jP6 = new JPanel();jP6.setBackground(new Color(255, 255, 153));jP6.setBounds(0, 113, 682, 79);jPTop = new JPanel();jPTop.setBackground(new Color(255, 255, 102));jPBottom = new JPanel();jPBottom.setBackground(new Color(255, 255, 51));jP3.setLayout(null);jP3.add(studentJScrollPane);jP1.setLayout(new FlowLayout(FlowLayout.CENTER, 4, 1));jP4.setLayout(null);//底部的五部分// 第四行jP4.add(jLSelectQueryField);// 文字“选择”jP4.add(jCBSelectQueryField);// 下拉框jP4.add(mh);jP4.add(jTFQueryField);jP4.add(jBQuery);jP4.add(jBQueryAll);jP4.setPreferredSize(new Dimension(20, 20));jP5.setLayout(null);// 第五行jP5.add(teacherzh);jP5.add(jTFSTz);jP5.add(teachermm);jP5.add(jTFSTP);jP5.setPreferredSize(new Dimension(20, 20));jP6.setLayout(null);studentzh = new JLabel("学生账号:");studentzh.setBounds(5, 32, 68, 18);jP6.add(studentzh);jTFSSZ = new JTextField(15);// 学生账号jTFSSZ.setBounds(79, 29, 215, 24);jP6.add(jTFSSZ);studentmm = new JLabel("学生密码:");studentmm.setBounds(323, 32, 68, 18);jP6.add(studentmm);jP6.setPreferredSize(new Dimension(20, 20));jPTop.setLayout(null);// 命名组件jLStudentxjTable = new JLabel("账户密码表");jLStudentxjTable.setBounds(14, 13, 130, 26);jLStudentxjTable.setFont(new Font("华文新魏", Font.BOLD, 25));jP2 = new JPanel();jP2.setBackground(new Color(255, 255, 102));jP2.setBounds(258, 0, 165, 50);jP2.setLayout(null);jP2.add(jLStudentxjTable);jPTop.add(jP2);// 设置顶部jPTop.add(jP1);jPTop.add(jP3);jPBottom.setLayout(null);jPBottom.add(jP4);jPBottom.add(jP5);jPBottom.add(jP6);jTFSSP = new JTextField(15);jTFSSP.setBounds(395, 29, 215, 24);jP6.add(jTFSSP);// 设置大局面getContentPane().add("North", jPTop);JLabel lblNewLabel = new JLabel("   \u6CE8\u610F\u4E8B\u9879\uFF1A\u8D26\u53F7\u5BC6\u7801\u6D89\u53CA\u4F7F\u7528\u8005\u548C\u7BA1\u7406\u8005\u9690\u79C1\uFF0C\u8BF7\u52FF\u6CC4\u9732\u5916\u4F20\uFF01");lblNewLabel.setBounds(79, 224, 523, 36);jPTop.add(lblNewLabel);lblNewLabel.setForeground(new Color(255, 0, 0));lblNewLabel.setFont(new Font("华文宋体", Font.BOLD, 17));getContentPane().add("South", jPBottom);jBInsert = new JButton("插入");jBInsert.setBounds(10, 205, 80, 27);jPBottom.add(jBInsert);jBInsert.setFont(new Font("宋体", Font.BOLD, 15));jBUpdate = new JButton("更新");jBUpdate.setBounds(95, 205, 80, 27);jPBottom.add(jBUpdate);jBUpdate.setFont(new Font("宋体", Font.BOLD, 15));jBDeleteCurrentRecord = new JButton("删除当前记录");jBDeleteCurrentRecord.setBounds(189, 205, 155, 27);jPBottom.add(jBDeleteCurrentRecord);jBDeleteCurrentRecord.setFont(new Font("宋体", Font.ITALIC, 15));jBDeleteCurrentRecord.setForeground(Color.RED);jBDeleteAllRecords = new JButton("删除所有记录");jBDeleteAllRecords.setBounds(358, 205, 155, 27);jPBottom.add(jBDeleteAllRecords);jBDeleteAllRecords.setFont(new Font("宋体", Font.ITALIC, 15));jBDeleteAllRecords.setForeground(Color.RED);EXIT = new JButton("返回主页面");EXIT.setBounds(527, 205, 155, 27);jPBottom.add(EXIT);EXIT.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();                    Teacher ui=new Teacher();}});EXIT.setFont(new Font("宋体", Font.BOLD, 15));EXIT.setForeground(Color.RED);EXIT.addActionListener(this);jBDeleteAllRecords.addActionListener(this);jBDeleteCurrentRecord.addActionListener(this);jBUpdate.addActionListener(this);jBInsert.addActionListener(this);getContentPane().setLayout(new GridLayout(2, 1));this.setTitle("账号密码查改");this.setSize(700, 568);// 改表的大小this.setLocation(630, 180);// 改表的位置this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);// 使页面显示// this.setVisible(false);使页面消失dbProcess = new DbProcess();}// 监听器事件public void actionPerformed(ActionEvent e) { // 事件判断if (e.getActionCommand().equals("查询选择内容") && !jTFQueryField.getText().isEmpty()) {System.out.println("actionPerformed(). 查询选择内容");String sQueryField = jTFQueryField.getText().trim();int n=JOptionPane.showConfirmDialog(null,"确定查询该选项?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {queryProcess(sQueryField);jTFQueryField.setText("");}} if (e.getActionCommand().equals("查询所有记录")) {System.out.println("actionPerformed(). 查询所有记录");int n=JOptionPane.showConfirmDialog(null,"确定查询所有记录?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {queryAllProcess();}} if (e.getActionCommand().equals("插入") && !jTFSTz.getText().isEmpty() && !jTFSTP.getText().isEmpty()&& !jTFSSZ.getText().isEmpty() && !jTFSSP.getText().isEmpty() ) {System.out.println("actionPerformed(). 插入");int n=JOptionPane.showConfirmDialog(null,"确定插入该条记录?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {insertProcess();JOptionPane.showMessageDialog(null, "                                插入成功", "插入成功", JOptionPane.PLAIN_MESSAGE);} } if (e.getActionCommand().equals("更新") && !jTFSTz.getText().isEmpty() && !jTFSTP.getText().isEmpty()&& !jTFSSZ.getText().isEmpty() && !jTFSSP.getText().isEmpty() ) {System.out.println("actionPerformed(). 更新");int n=JOptionPane.showConfirmDialog(null,"确定更新该条记录?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {JOptionPane.showMessageDialog(null, "                                更新成功", "更新成功", JOptionPane.PLAIN_MESSAGE);updateProcess();dispose();Student_management_login_system sm=new Student_management_login_system();} }  if (e.getActionCommand().equals("删除当前记录")) {System.out.println("actionPerformed(). 删除当前记录");int n=JOptionPane.showConfirmDialog(null,"注意:确定删除该条记录?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {JOptionPane.showMessageDialog(null, "                                删除成功", "删除成功", JOptionPane.PLAIN_MESSAGE);deleteCurrentRecordProcess();} } if (e.getActionCommand().equals("删除所有记录"))   {System.out.println("actionPerformed(). 删除所有记录");int n=JOptionPane.showConfirmDialog(null,"注意:确定删除所有记录?", "账号密码记录",JOptionPane.YES_NO_OPTION);if(n==0) {JOptionPane.showMessageDialog(null, "                                全部删除成功", "全部删除成功", JOptionPane.PLAIN_MESSAGE);deleteAllRecordsProcess();}}}// “查询”程序public void queryProcess(String sQueryField) {try {// 建立查询条件if(SelectQueryFieldStr=="老师账号"||SelectQueryFieldStr=="老师密码") {String sql = "SELECT `teacherdlb`.tuserNo,`teacherdlb`.tpswd FROM `teacherdlb`  WHERE teacherdlb.tpswd IS NOT NULL  AND ";String queryFieldStr = jCBSelectQueryFieldTransfer(SelectQueryFieldStr);System.out.println(queryFieldStr);sql = sql + queryFieldStr;sql = sql + " = ";sql = sql + "'" + sQueryField + "';";String sql1 = "SELECT `studentdlb`.suserNo,`studentdlb`.spswd FROM `studentdlb`  WHERE studentdlb.spswd IS NOT NULL ; ";System.out.println("queryProcess(). sql = " + sql);dbProcess.connect();ResultSet rs = dbProcess.executeQuery(sql);ResultSet rs1 = dbProcess.executeQuery(sql1);// 将查询获得的记录数据,转换成适合生成JTable的数据形式studentVector.clear();while (rs.next()&&rs1.next()) {Vector v = new Vector();v.add(rs.getString("tuserNo"));v.add(rs.getString("tpswd"));v.add(rs1.getString("suserNo"));v.add(rs1.getString("spswd"));studentVector.add(v);//显示表}studentJTable.updateUI();dbProcess.disconnect();}if(SelectQueryFieldStr=="学生账号"||SelectQueryFieldStr=="学生密码") {String sql = "SELECT `studentdlb`.suserNo,`studentdlb`.spswd FROM `studentdlb`  WHERE studentdlb.spswd IS NOT NULL  AND ";String queryFieldStr = jCBSelectQueryFieldTransfer(SelectQueryFieldStr);System.out.println(queryFieldStr);sql = sql + queryFieldStr;sql = sql + " = ";sql = sql + "'" + sQueryField + "';";String sql1 = "SELECT `teacherdlb`.tuserNo,`teacherdlb`.tpswd FROM `teacherdlb`  WHERE teacherdlb.tpswd IS NOT NULL ; ";System.out.println("queryProcess(). sql = " + sql);dbProcess.connect();ResultSet rs = dbProcess.executeQuery(sql);ResultSet rs1 = dbProcess.executeQuery(sql1);// 将查询获得的记录数据,转换成适合生成JTable的数据形式studentVector.clear();while (rs.next()&&rs1.next()) {Vector v = new Vector();v.add(rs1.getString("tuserNo"));v.add(rs1.getString("tpswd"));v.add(rs.getString("suserNo"));v.add(rs.getString("spswd"));studentVector.add(v);//显示表}studentJTable.updateUI();dbProcess.disconnect();}} catch (SQLException sqle) {System.out.println("sqle = " + sqle);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}}// “查询全部”程序public void queryAllProcess() {try {// 建立查询条件String sql = "SELECT `studentdlb`.suserNo,`studentdlb`.spswd FROM `studentdlb`  WHERE studentdlb.spswd IS NOT NULL  ;";String sql1 = "SELECT `teacherdlb`.tuserNo,`teacherdlb`.tpswd FROM `teacherdlb`  WHERE teacherdlb.tpswd IS NOT NULL ; ";System.out.println("queryProcess(). sql = " + sql);dbProcess.connect();ResultSet rs = dbProcess.executeQuery(sql);ResultSet rs1 = dbProcess.executeQuery(sql1);// 将查询获得的记录数据,转换成适合生成JTable的数据形式studentVector.clear();while (rs.next()&&rs1.next()) {Vector v = new Vector();v.add(rs1.getString("tuserNo"));v.add(rs1.getString("tpswd"));v.add(rs.getString("suserNo"));v.add(rs.getString("spswd"));studentVector.add(v);//显示表}studentJTable.updateUI();dbProcess.disconnect();} catch (SQLException sqle) {System.out.println("sqle = " + sqle);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}}// “插入”程序public void insertProcess() {String tuserNo = jTFSTz.getText().trim();String tpswd = jTFSTP.getText().trim();String suserNo = jTFSSZ.getText().trim();String spswd = jTFSSP.getText().trim();// 建立插入条件String sql = "insert into `teacherdlb` values('";sql = sql + tuserNo + "','";sql = sql + tpswd + "');";String sql1 = "insert into `studentdlb` values('";sql1 = sql1 + suserNo + "','";sql1 = sql1 + spswd + "');";System.out.println("insertProcess(). sql = " + sql+"insertProcess(). sql1 = " + sql1);try {if (dbProcess.executeUpdate(sql) < 1||dbProcess.executeUpdate(sql1) < 1) {System.out.println("insertProcess(). insert database failed.");}} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}queryAllProcess();}// “更新”程序public void updateProcess() {String tuserNo = jTFSTz.getText().trim();String tpswd = jTFSTP.getText().trim();String suserNo = jTFSSZ.getText().trim();String spswd = jTFSSP.getText().trim();// 建立更新条件String sql = "update teacherdlb set tpswd = '";sql = sql + tpswd + "'";sql = sql + " WHERE tuserNo = '" + tuserNo + "';";String sql1 = "update studentdlb set spswd = '";sql1 = sql1 + spswd + "'";sql1 = sql1 + " WHERE suserNo = '" + suserNo + "';";System.out.println("updateProcess(). sql = " + sql+"updateProcess(). sql1 = " + sql1);try {if (dbProcess.executeUpdate(sql) < 1||dbProcess.executeUpdate(sql1) < 1) {System.out.println("updateProcess(). update database failed.");}} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}queryAllProcess();}// “删除”程序public void deleteCurrentRecordProcess() {String tuserNo = jTFSTz.getText().trim();String suserNo = jTFSSZ.getText().trim();// 建立删除条件String sql = "delete from teacherdlb where tuserNo = '" + tuserNo + "';";String sql1 = "delete from studentdlb where suserNo = '" + suserNo + "';";System.out.println("deleteCurrentRecordProcess(). sql = " + sql+"deleteCurrentRecordProcess(). sql1 = " + sql1);try {if (dbProcess.executeUpdate(sql) < 1||dbProcess.executeUpdate(sql1) < 1) {System.out.println("deleteCurrentRecordProcess(). delete database failed.");}} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}queryAllProcess();}// “删除全部”程序public void deleteAllRecordsProcess() {// 建立删除条件String sql = "delete from teacherdlb;";String sql1 = "delete from studentdlb;";System.out.println("deleteAllRecordsProcess(). sql = " + sql+"deleteAllRecordsProcess(). sql1 = " + sql1);try {if (dbProcess.executeUpdate(sql) < 1||dbProcess.executeUpdate(sql1) < 1) {System.out.println("deleteAllRecordsProcess(). delete database failed.");}} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}queryAllProcess();}public String jCBSelectQueryFieldTransfer(String InputStr) {String outputStr = "";System.out.println("jCBSelectQueryFieldTransfer(). InputStr = " + InputStr);if (InputStr.equals("老师账号")) {outputStr = "tuserNo";} else if (InputStr.equals("老师密码")) {outputStr = "tpswd";} else if (InputStr.equals("学生账号")) {outputStr = "suserNo";} else if (InputStr.equals("学生密码")) {outputStr = "spswd";} System.out.println("jCBSelectQueryFieldTransfer(). outputStr = " + outputStr);return outputStr;}// 退出程序public void close() {System.exit(0);}
}

图3-3老师学生账号密码界面

3.4、新生信息输入界面
新生信息输入界面请见如图3-4新生信息输入界面。这个界面的设计同样是专门为教务办用户设计,首先这个界面是一个录入新生信息的界面,在每一个文本框都有相应输入的数据格式的提示比如生日的文本框所提示的内容是“2013-05-20”这种格式,因为在数据库中的学生信息表格中设计的时间的数据类型是date类型,所以必须用这种数据格式的填写才能成功插入到数据库相应的表格里面去。只有当所有的文本框中都输有正确数据,然后点击确认键,然后会弹出一个窗口让用户再确认一次是否允许该操作的执行,减少用户操作失误的几率。插入数据成功之后界面的所有文本框会清空,用户可以再继续将其他学生信息插入到学生信息表中;也可以点击返回,然后返回主界面。
实现新生信息输入界面的全部代码:

package xr06;import java.awt.BorderLayout;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;import java.awt.Font;
import java.awt.Color;
import java.awt.SystemColor;
import javax.swing.JTextField;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JRadioButton;
import javax.swing.ImageIcon;
import java.awt.Toolkit;public class Newstudent extends JFrame {static String select="男";ButtonGroup bg=null;private static DbProcess dbProcess;private JPanel contentPane;private JTextField textField;private JTextField textField_1;private JTextField textField_3;private JTextField textField_4;private JTextField textField_5;private JTextField textField_6;/*** Launch the application.*/public static void main(String[] args) {Newstudent f = new Newstudent();}/*** Create the frame.*/public Newstudent() {setIconImage(Toolkit.getDefaultToolkit().getImage("G:\\timg-1.jpg"));this.setResizable(false);setFont(new Font("Dialog", Font.BOLD, 25));setTitle("新生信息输入");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(700, 200, 570, 533);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JPanel panel = new JPanel();panel.setBackground(new Color(255, 255, 153));panel.setBounds(0, 0, 566, 498);contentPane.add(panel);panel.setLayout(null);JLabel lblNewLabel = new JLabel("新生信息输入");lblNewLabel.setBounds(182, 13, 197, 36);lblNewLabel.setBackground(Color.LIGHT_GRAY);lblNewLabel.setFont(new Font("华文新魏", Font.BOLD, 30));panel.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel("学号:");lblNewLabel_1.setFont(new Font("宋体", Font.BOLD, 20));lblNewLabel_1.setBounds(92, 76, 71, 18);panel.add(lblNewLabel_1);JLabel label = new JLabel("姓名:");label.setFont(new Font("宋体", Font.BOLD, 20));label.setBounds(92, 126, 74, 18);panel.add(label);JLabel label_1 = new JLabel("性别:");label_1.setFont(new Font("宋体", Font.BOLD, 20));label_1.setBounds(92, 176, 70, 18);panel.add(label_1);JLabel label_2 = new JLabel("生日:");label_2.setFont(new Font("宋体", Font.BOLD, 20));label_2.setBounds(92, 226, 77, 18);panel.add(label_2);JLabel label_3 = new JLabel("地址:");label_3.setFont(new Font("宋体", Font.BOLD, 20));label_3.setBounds(92, 276, 66, 18);panel.add(label_3);textField = new JTextField();textField.setBounds(162, 74, 255, 24);panel.add(textField);textField.setColumns(10);textField.addFocusListener(new JTextFieldHintListener("新生学号 如 1705", textField));textField_1 = new JTextField();textField_1.addFocusListener(new JTextFieldHintListener("新生姓名 如 XR", textField_1));textField_1.setColumns(10);textField_1.setBounds(162, 124, 255, 24);panel.add(textField_1);textField_3 = new JTextField();textField_3.addFocusListener(new JTextFieldHintListener("新生生日 如 2013-05-20", textField_3));textField_3.setColumns(10);textField_3.setBounds(162, 224, 255, 24);panel.add(textField_3);textField_4 = new JTextField();textField_4.addFocusListener(new JTextFieldHintListener("新生地址籍贯 如 湖南长沙", textField_4));textField_4.setColumns(10);textField_4.setBounds(162, 274, 255, 24);panel.add(textField_4);JLabel label_4 = new JLabel("院系:");label_4.setFont(new Font("宋体", Font.BOLD, 20));label_4.setBounds(92, 326, 66, 18);panel.add(label_4);textField_5 = new JTextField();textField_5.addFocusListener(new JTextFieldHintListener("新生院系 如 0101", textField_5));textField_5.setColumns(10);textField_5.setBounds(162, 324, 255, 24);panel.add(textField_5);JLabel label_5 = new JLabel("班名:");label_5.setFont(new Font("宋体", Font.BOLD, 20));label_5.setBounds(92, 376, 66, 18);panel.add(label_5);textField_6 = new JTextField();textField_6.addFocusListener(new JTextFieldHintListener("新生班名 如 01", textField_6));textField_6.setColumns(10);textField_6.setBounds(162, 374, 255, 24);panel.add(textField_6);JButton btnNewButton = new JButton("确认");btnNewButton.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if ( !textField.getText().isEmpty() && !textField_1.getText().isEmpty()&& !textField_3.getText().isEmpty() && !textField_4.getText().isEmpty()&& !textField_5.getText().isEmpty() && !textField_6.getText().isEmpty()) {System.out.println("mouseClicked(). 确认");int n=JOptionPane.showConfirmDialog(null,"确定录入该生信息?", "新生信息录入",JOptionPane.YES_NO_OPTION);if(n==0) {insertProcess();JOptionPane.showMessageDialog(null, "                   录入信息成功", "输入信息成功", JOptionPane.PLAIN_MESSAGE); textField.setText("");textField_1.setText("");textField_3.setText("");textField_4.setText("");textField_5.setText("");textField_6.setText("");}}else {JOptionPane.showMessageDialog(null, "                   请输入完整数据,谢谢", "请输入完整数据", JOptionPane.PLAIN_MESSAGE); }}});btnNewButton.setForeground(Color.BLACK);btnNewButton.setBackground(Color.ORANGE);btnNewButton.setFont(new Font("宋体", Font.BOLD, 20));btnNewButton.setBounds(322, 433, 95, 35);panel.add(btnNewButton);JButton button = new JButton("返回");button.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dispose();Teacher t = new Teacher();}});button.setForeground(Color.RED);button.setFont(new Font("宋体", Font.BOLD, 20));button.setBackground(Color.ORANGE);button.setBounds(438, 433, 95, 35);panel.add(button);JRadioButton rdbtnNewRadioButton = new JRadioButton("男");rdbtnNewRadioButton.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {System.out.println("选择“男”");select="男";}});rdbtnNewRadioButton.setFont(new Font("宋体", Font.BOLD, 17));rdbtnNewRadioButton.setBackground(new Color(255, 255, 153));rdbtnNewRadioButton.setBounds(162, 174, 77, 27);panel.add(rdbtnNewRadioButton);JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("女");rdbtnNewRadioButton_1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {System.out.println("选择“女”");select="女";}});rdbtnNewRadioButton_1.setFont(new Font("宋体", Font.BOLD, 17));rdbtnNewRadioButton_1.setBackground(new Color(255, 255, 153));rdbtnNewRadioButton_1.setBounds(238, 174, 157, 27);panel.add(rdbtnNewRadioButton_1);this.setVisible(true);bg=new ButtonGroup();  bg.add(rdbtnNewRadioButton);  bg.add(rdbtnNewRadioButton_1);  rdbtnNewRadioButton.setSelected(true);dbProcess = new DbProcess();}public void insertProcess() {String Sno = textField.getText().trim();String Sname = textField_1.getText().trim();String Ssex = select;String Sbirth = textField_3.getText().trim();String Sadd = textField_4.getText().trim();String Sacademy = textField_5.getText().trim();String Scla = textField_6.getText().trim();// 建立插入条件String sql = "insert into student values('";sql = sql + Sno + "','";sql = sql + Sname + "','";sql = sql + Ssex + "','";sql = sql + Sbirth + "','";sql = sql + Sadd + "','";sql = sql + Sacademy + "','";sql = sql + Scla + "');";System.out.println("insertProcess(). sql = " + sql);try {if (dbProcess.executeUpdate(sql) < 1) {System.out.println("insertProcess(). insert database failed.");}} catch (Exception e) {System.out.println("e = " + e);JOptionPane.showMessageDialog(null, "数据操作错误", "错误", JOptionPane.ERROR_MESSAGE);}}
}

图3-4新生信息输入界面

以上只是数据库课设之学生信息管理系统部分设计内容和源代码资源,如果想要学生信息管理系统全部资源请点击下面资源链接进行下载,希望能帮助到你!

独家资源1:点击资源下载链接

独家资源2:点击打开资源链接

同时在完成相关设计可能会用到的博主博客中的文章内容:

1、Navicat for MySQL资源分享和下载以及SQL文件的导入导出

2、Eclipse最新最简最详细安装教程(注意:购买文章后,百度云盘链接大家不要直接复制链接,请手打链接否则可能打不开资源)

各位大佬如有更好的建议或者不清楚的地方让各位产生了疑问,各位可以在评论中提出!

数据库课设之学生信息管理系统相关推荐

  1. 超超超超超详细的数据库课设报告-学生公寓管理系统

    学生公寓管理系统 摘要: 随着社会的发展以及教育水平的提高,当今在校生数量越来越多.与此同时,目前还有一些学校还在使用手工的方式对学生的住宿信息进行管理,手工记录对于规模小的学校来说还可以勉强接受,但 ...

  2. 【数据库课设】学生成绩管理系统 (JAVA+ swing + JDBC)

    正道的光 源代码资源获取!!!!! 百度网盘: https://pan.baidu.com/s/1fQab5mOfpZ14rv7yhT_TAQ 提取码:0307 Github: https://git ...

  3. 数据库课设之学生成绩管理系统

    系统设计的内容 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化.规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询.修改.增加.删除,另外还考虑到用户登录的权限,针 ...

  4. c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc

    C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...

  5. 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统

    <C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...

  6. c语言建筑工地管理系统,C语言课设之建筑工地信息管理系统.doc

    C语言课设之建筑工地信息管理系统 C 语 言 课 程 实 习 报 告 建筑工地信息管理系统 题目要求 <建筑工地信息管理系统>要求要建立与建筑相关的四个文件信息:1)项目2)工地 3)配件 ...

  7. c语言设计之歌曲信息管理系统,C语言课设之歌曲信息管理系统

    <C语言课设之歌曲信息管理系统>由会员分享,可在线阅读,更多相关<C语言课设之歌曲信息管理系统(10页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计目 录1.题目要求2. ...

  8. 数据库课设(足球联赛管理系统)

    一:前言 如果有关注博主的粉丝,可能会发现贴心杰又缺更好几天了,但是我是宠粉杰啊,怎么可能会忘了我的宝贝粉丝呢,只不过是临近期末,各种大作业课设如期而至,这几天我在写数据库课设,对于一个没有写过任何项 ...

  9. 学生宿舍管理系统java课设_JAVA学生宿舍管理系统

    需要的工具 1.SQL Server 2.Eclipse 3.JDBC连接数据库驱动 https://download.microsoft.com/download/A/F/B/AFB381FF-70 ...

  10. Java课设(教师信息管理系统)

    教师信息管理系统(登录界面源码) 我是一名大二的学生,是一个Java初学者,第一次分享自己做的程序.里面有很多格式不正确的地方请见谅.每个功能也进行了相应的优化,bug应该没有了.例如添加功能 会判断 ...

最新文章

  1. onsrcoll和scrollTop兼容与实现
  2. [黑马程序员二]:C#面向对象基础
  3. Spring Cloud Security:Oauth2实现单点登录
  4. 初学Linux应掌握的Shell命令
  5. 使用python套用excel模板_Python自动化办公Excel-从表中批量复制粘贴数据到新表
  6. 16位整型数据matlab,matlab的整型数据
  7. 外贸人不知道的Facebook广告营销技巧和营销工具
  8. 暑期OI大电影——不看后悔整个OI生涯!
  9. redhat 阿里镜像
  10. 关于WM下创建和删除GPRS接入点
  11. 极通EWEBS V5.0打破了远程计入市场的宁静!
  12. python 拼接 遥感影像_Python干货 | 遥感影像拼接
  13. tobit回归模型matlab,Eviews中如何操作tobit模型
  14. 剪映导出帧率选多少_视频发朋友圈更清晰的四点小技巧
  15. 视频码率,帧率和分辨率
  16. 最全的有道云笔记实用功能大盘点!PS:遇到优质的文章想收藏下来怎么办?在这里您就可以找到答案!
  17. XML编程经验――LIBXML2库使用指南
  18. 第五章.系统安全分析与设计
  19. 3.2.1 LinearLayout(线性布局)
  20. 两子公司犯单位行贿罪各罚100万 鹏博士收警示函高度重视

热门文章

  1. 元器件选型实例(如何选一款合适的 DC-DC )
  2. SI5341驱动(verilog)
  3. express快速入门【含源码压缩包下载】
  4. 自动生成光纤测试资料的软件,光缆测试模板生成工具官方版
  5. inode客户端linux 怎样运行,Ubuntu下安装iNode上网客户端
  6. c语言常见头文件大全,C语言头文件大全
  7. 电脑ps计算机磨皮,ps磨皮教程
  8. SAS安装后无法使用增强型编辑器问题解决方法
  9. keras深度学习之猫狗分类三(特征提取)
  10. dsp c语言流水灯程序,DSP流水灯源程序