模板java学生信息管理系统.doc
- 格式:doc
- 大小:960.19 KB
- 文档页数:33
学生信息管理系统设计1、系统简介本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。
管理员的主要功能有对学生信息和课程信2.2总体设计学生信息管理系统主要包括管理员和学生两大模块。
管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。
用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。
系统总体结构如图所示。
总体结构图2.3模块详细设计1、学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
成绩信息管理模块结构图5、用户信息管理模块用户信息管理模块包括修改、查询、显示全部等。
具体的结构图如图所示。
用户信息管理模块结构图3、数据库设计在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。
s(学生信息表)unpw(用户信息表)4、界面库设计设计如下图所示。
学生信息管理功能的界面课程信息管理功能的界面选课信息管理功能的界面成绩信息管理功能的界面用户信息管理功能的界面学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作,其具体界面设计如下图所示。
学生信息查看功能的界面成绩信息查看功能的界面SCM选课信息管理的类SCSelect用于选课信息管理中查询时输入学号的界面的类GM成绩信息管理的类GAdd用于成绩信息管理中修改成绩的界面的类GSelect用于成绩信息管理中查询时输入学号的界面的类PM用户信息管理的类UAdd用于用户信息管理中修改密码的界面的类PSelect用于用户信息管理中查询时输入用户名的界面的类StudentS用于学生信息查看时输入学号的界面的类StudentSelect用于成绩信息查看时输入学号的界面的类importjava.awt.*;importimportjava.sql.*;classCAddextendsJFrameimplementsActionListener{//用于课程信息管理中增加或修改某条记录的界面JLabellcno=newJLabel("课程号:");JLabellcname=newJLabel("课程名:");JLabellpcno=newJLabel("先行课程号:");JTextFieldtcno=newJTextField(10);JTextFieldtcname=newJTextField(10);p.setLayout(newFlowLayout(FlowLayout.LEFT));p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lpcno);p.add(tpcno);p.add(btnOK);p.add(btnCancel);this.add(p);}try{con=DriverManager.getConnection( DatabaseName=student","sa","123");stmt=con.createStatement();}catch(SQLExceptione){e.printStackTrace();}}Stringxxkch=null;kch=tcno.getText();kcm=tcname.getText();xxkch=tpcno.getText();if(this.getTitle()=="修改"){//如果是修改记录,先删除再增加try{this.connDB();intrs1=stmt.executeUpdate("deletefromcwherecno='"功!","提示",RMATION_MESSAGE,newImageIcon("menu4.gif"));this.setVisible(false);catch(SQLExceptione){JOptionPane.showMessageDialog(null,"课程号已存在!");tcno.setText("");newCM("课程信息管理").display();}}}importjavimport importjava.sql.*; importjava.util.*; importjavax.swing.*;JScrollPanescroll;Connectioncon=null; Statementstmt=null; ResultSetrs=null;Object[][]playerInfo;CSelectcst;Stringmkch=null;booleanbstd=false;CM(Stringtitle){//构造方法super(title);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}CM(CSelectcst,Stringtitle){//构造方法super(title);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}}}catch(SQLExceptione){e.printStackTrace();}playerInfo=newObject[i][3];String[]columnNames={"课程号","课程名","先行课程号"};try{rs=stmt.executeQuery("select*fromcorderbycno");while(rs.next()){playerInfo[j][0]=rs.getString("cno");}publicvoidconnDB(){//连接数据库try{}catch(ClassNotFoundExceptione){e.printStackTrace();}try{con=DriverManager.getConnection( DatabaseName=student",e.printStackTrace();}}publicvoiddelete(){//删除某个课程信息Stringkch=null;Stringkcm=null;Stringxxkch=null;introw=-1;row=sTable.getSelectedRow();if(row==-1){//判断要删除的信息是否被选中j1++;}}catch(SQLExceptione){e.printStackTrace();}inti1=0;try{intrs1=stmt.executeUpdate("deletefromcwherecno='"+kch+"'");//删除数据库中当前被选中的记+mkch+"'");//删除数据库中当前被选中的记录JOptionPane.showMessageDialog(null,"记录删除成功!");this.dispose();newCM("课程信息管理").display();}catch(SQLExceptione){e.printStackTrace();}}intj1=0;try{if(!bstd){//判断选择的是不是查询后的结果rs=stmt.executeQuery("select*fromc");}else{rs=stmt.executeQuery("select*fromcwherecno='"+mkch+"'");}while(rs.next()&&j1<=row){//找出当前被选中的记录this.dispose();}}publicvoidselect(){//显示某个查询的结果mkch=cst.kch;playerInfo=newObject[1][3];String[]columnNames={"课程号","课程名","先行课程号"};if(playerInfo[0][1]==null){this.dispose();JOptionPane.showMessageDialog(null,"课程号不存在!");newCM("课程信息管理").display();}else{sTable=newJTable(playerInfo,columnNames);//创建网格p1.add(sTable);scroll=newJScrollPane(sTable);this.update();}if(e.getActionCommand()=="查询"){cst=newCSelect();this.dispose();}if(e.getActionCommand()=="显示"){ this.dispose();newCM("课程信息管理").display();}JTextFieldtcno=newJTextField(8);JButtonbtnOK=newJButton("确定");JPanelp=newJPanel();Stringkch=null;publicCSelect(){//构造方法p.add(ltitle);p.add(tcno);p.add(btnOK);add(p);this.setBounds(300,280,200,160);}}}importjavax.swing.*; importjava.awt.*;importimportjava.sql.*; classDLFrameextendsJFrameimplementsActionListener,Ite mListener{//登录界面JPanelp1=null;Iconimage;staticintOK=1;staticintCANCEL=0;intactionCode=0;Connectioncon=null;Statementstmt=null;ResultSetrs=null;intqxian=0;publicDLFrame(){//构造方法super("登录界面");p2.add(txtUser);p2.add(password);p2.add(txtPwd);p2.add(role);p2.add(cbrole);p3.add(btnLogin);p3.add(btncz);p3.add(btnCancel);this.add(p1);this.add(p2);}catch(ClassNotFoundExceptione){e.printStackTrace();}try{con=DriverManager.getConnection(3;DatabaseName=student","sa","123");stmt=con.createStatement();}catch(SQLExceptione){publicvoiditemStateChanged(ItemEvente){ if(e.getStateChange()==ItemEvent.SELECTED){ JComboBoxjcb=(JComboBox)e.getSource();qxian=jcb.getSelectedIndex();}}publicvoidactionPerformed(ActionEvente){ Objectsource=e.getSource();Stringun=null;Stringpw=null;+qxian);while(rs.next()){un=rs.getString("un").trim();pw=rs.getString("pw").trim();if(txtUser.getText().equals(un)){if(txtPwd.getText().equals(pw)){actionCode=OK;this.setVisible(false);if(qxian==0){newManagerFrane();//进入管理success=true;}}}if(!success){JOptionPane.showMessageDialog(null,"登录名错误!");txtUser.setText("");txtPwd.setText("");}importjavax.swing.*;importjava.awt.*;importimportjava.sql.*; classGAddextendsJFrameimplementsActionListener{//用于成绩信息管理中修改成绩的界面JLabellcno=newJLabel("学号:");JLabellcname=newJLabel("课程名:");JLabellg=newJLabel("成绩:");JTextFieldtcno=newJTextField(10);this.setBounds(200,200,146,235);p.setLayout(newFlowLayout(FlowLayout.LEFT));p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lg);p.add(tpcno);p.add(btnOK);p.add(btnCancel);e.printStackTrace();}try{con=DriverManager.getConnection( DatabaseName=student","sa","123");stmt=con.createStatement(); }catch(SQLExceptione){e.printStackTrace();}Stringkcm=null;Stringxxkch=null;kch=tcno.getText();kcm=tcname.getText();xxkch=tpcno.getText();Stringgcno=null;if(this.getTitle()=="修改成绩"){try{this.connDB();}}publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="确定"){this.insertst();if(isNewsm){newGM("成绩信息管理").display();this.dispose();}isNewsm=true;importjavax.swing.*;import classGMextendsJFrameimplementsActionListener{//成绩信息管理JPanelp=newJPanel();JButtonbtnAlter=newJButton("修改成绩"); JButtonbtnSearch=newJButton("查询"); JButtonbtnDisplay=newJButton("显示"); JMenuBarmb=newJMenuBar();JPanelp1=newJPanel();;add("South",p);this.add("Center",p1);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200,200,400,260); btnAlter.addActionListener(this); btnSearch.addActionListener(this); btnDisplay.addActionListener(this);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200,200,400,260);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);o");while(rs.next()){//找出表中的记录数赋给i al.add(rs.getString("sno"));al.add(rs.getString("cn"));al.add(rs.getString("g"));i++;}}catch(SQLExceptione){e.printStackTrace();}}catch(SQLExceptione){e.printStackTrace();}sTable=newJTable(playerInfo,columnNames);//创建网格p1.add(sTable);scroll=newJScrollPane(sTable);this.add(scroll);}publicvoidconnDB(){//连接数据库}}publicvoidcloseDB()//关闭连接{try{stmt.close();con.close();}catch(SQLExceptione){e.printStackTrace();}try{if(!bstd){//判断选择的是不是查询后的结果rs=stmt.executeQuery("select*fromsc,o=o");}else{rs=stmt.executeQuery("select*fromsc,o=oandsn o='"gadd.setTitle("修改成绩");this.dispose();}}publicvoidselect(){//显示某个学生的成绩查询结果playerInfo[j][0]=rs.getString("sno");playerInfo[j][1]=rs.getString("cn");playerInfo[j][2]=rs.getString("g");j++;}}catch(SQLExceptione){e.printStackTrace();}if(playerInfo[0][1]==null){this.dispose();this.update();}if(e.getActionCommand()=="查询"){ gst=newGSelect();this.dispose();}if(e.getActionCommand()=="显示"){ this.dispose();newGM("成绩信息管理").display();}er{//用于成绩信息管理中查询时输入学号的界面 JLabelltitle=newJLabel("学号:");JTextFieldtsno=newJTextField(8);JButtonbtnOK=newJButton("确定");JPanelp=newJPanel();Connectioncon=null;Statementstmt=null;ResultSetrs=null;Stringgxh=null;inti=0;}catch(ClassNotFoundExceptione){e.printStackTrace();}try{con=DriverManager.getConnection( st:1433;DatabaseName=student","sa","123");stmt=con.createStatement();}catch(SQLExceptione){publicvoidii(){//取得符合条件的记录数Listal=newArrayList();try{rs=stmt.executeQuery("select*fromsc,o=oandsn o='"+gxh+"'");while(rs.next()){al.add(rs.getString("sno"));if(gxh.equals("")){//判断是否输入了学号JOptionPane.showMessageDialog(null,"学号不能为空,请重新输入!");}else{this.dispose();。
江西科技师范大学毕业设计(论文)学生姓名:题目(中文):基于Java的学生信息管理系统(外文):Student Information ManagementSystembased on Java院(系):数学与计算机科学学院专业:计算机科学与技术年级:学号:指导教师:时间:2016 年4 月2016年4月20日目录1.引言 01.1 项目开发背景和意义 01.2 国内外的研究现状 02.系统主要技术及开发环境介绍 (1)2.1 Java语言 (1)2.2 Eclipse简介 (1)2.3 Mysql概述 (2)2.4 jsp技术概述 (2)3.系统需求分析 (3)3.1功能需求分析 (3)3.2框架结构设计分析 (3)3.3用户需求分析 (4)4.系统概要设计 (4)4.1系统结构图 (4)4.2系统主要功能模块设计 (5)4.3程序流程图 (6)4.4数据库设计 (8)4.4.1数据库概念结构设计 (9)4.4.2数据库逻辑结构设计 (11)5.系统实现 (13)5.2基本信息管理实现 (14)5.3成绩管理实现 (21)5.4课程管理实现 (23)5.5班级管理实现 (26)6.总结和展望 (28)6.1总结 (28)6.2 展望 (29)参考文献 (29)基于Java的学生信息管理系统摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。
本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。
该系统具有十分清晰友好的界面,操作界面简洁,便于使用。
关键字:学生信息管理;MYSQL;JAVA1.引言1.1 项目开发背景和意义随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。
近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。
一、需求分析1。
实现对班级和学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。
2。
能够实现对班级学生基本资料的修改。
3。
根据学号对学生资料进行查询.4。
能够删除学生的资料.二、概要设计根据本次课程设计的目的和以上的问题描述,把该班级管理系统分为五个模块:录入模块(StudentSituation)、查询模块(Inques)、删除模块(Delete)和修改模块(ModifySituation)。
各个模块包括对学生学号,姓名,所学专业,家庭住址,出生日期等信息的操作.系统的结构图如图一:图1 系统结构图三、总体设计本班级管理系统共有6个java源文件。
类之间的主要关系如下图所示:图2 类之间的主要关系各主类的主要作用如下:1。
StudentManager。
java该java文件的类负责创建班级学生管理系统的主窗口,该类包含main方法,程序从该类开始执行。
2.StudentStituation.java该文件的类负责创建班级学生管理系统的学生信息录入界面。
3。
ModifySituation.java该文件的类负责创建班级学生管理系统的学生基本信息修改界面。
4。
Inquest.java该文件的类负责创建班级学生管理系统的学生基本信息查询界面.5.Delete.java该文件的类负责创建班级学生管理系统的学生信息删除界面。
6。
Student。
java负责创建存放学生信息的对象.四、详细设计1。
管理系统主窗口1.1成员变量表1-1 主要成员变量基本信息修改基本信息查询基本信息删除菜单选项存基本信息的散列表存放散列表的文件ModifySituationInquestDeleteJMenuItemHashtableFile基本信息修改基本信息查询基本信息删除录入,修改,查询,删除基本信息file1。
2方法表1—2 主要方法名称功能备注StudentManager actionPerformedmain创建程序主窗口处理ActionEvent事件程序开始运行构造方法接口方法1。
《Java程序设计实训》学生信息管理系统目录一、项目背景 (2)二、编写目的 (2)三、开发环境 (2)四、需求分析 (2)五、模块说明 (3)六、系统功能设计 (3)七、任务进度表 (4)八、测试结果 (5)九、设计小结 (7)十、用户使用说明 (8)十一、参考文献 (8)一、项目背景随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加.面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
现在的时代是网络普及是时代,学生有条件通过网络方便快捷的查询自己的个人信息.所以,学生信息管理系统既能方便学校管理部门的管理,又能方便学生及时查询个人信息.从自己学习的角度来说:这次系统的制作过程,无疑加深了自身对《JAVA》这门课理论知识的理解,大大提高了理论知识的应用水平,而且增强动手能力,可以说是为毕业设计做了很好准备。
面对以后强大的就业压力,没有熟练的动手能力,光有满脑袋的理论是不行的,因此本次设计显得十分重要二、编写目的《Java语言程序设计实训》课程设计是计算机科学与技术专业及相关专业的集中实践性环节之一,是学习完《Java语言程序设计》后进行的一次全面的综合练习,其目的在于加深对面向过程程序设计的理解,提高解决实际问题的能力,为后续课程、毕业设计以及今后从事设计工作打下良好的基础。
(1)本系统具有很强的可靠行,可以对录入的考生信息进行效验,对数据进行修改、删除,规定招生工作人员的权限。
(2)本系统中的模块具有很强的可续性,可以方便招生工作人员的修改与维护。
(3)本系统操作方便、灵活、简单。
操作人员只需录入考生的基本信息和招生数据。
(4)本系统可高效、快速的查询到考生的基本信息和招生计划,便于招生工作的开展.三、开发环境1、硬件平台: (1)CPU:P41.8GHz;(2)内存:256MB以上;2、软件平台:(1)操作系统:windows XP/windows 2000/windows 7;(2)开发工具:Java四、需求分析1、系统名称:学生信息管理系统2、系统功能:(1)添加学生记录:输入并保存学生信息;(2)显示学生记录:按学号序显示所有学生信息;(3)删除学生记录:显示现有的学生信息,让操作者输入要删除学生的学号,将其删除后再次显示其余的学生信息;(4)查询学生记录:按键盘输入的学号查找并显示学生信息;(5)统计学生记录:统计并显示优、良、中、及格、不及格的人数与比例,以及总人数、及格率、最高分、最低分、平均分。
《数据库原理与应用》课程设计报告选题名称:学生信息管理系统组长:李盟指导教师:汤嘉立设计日期:2016.06.13——2016.06.24整体E-R模型:●物理模型设计阶段s(学生信息表)字段名称数据类型描述sno char (10) 学号,关键字sn char (20) 姓名sa int 年龄ss char (10) 性别2.s(学生信息表)附件1 系统实施一、登录界面图片:代码:package li;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;class DLFrame extends JFrame implements ActionListener, ItemListener {// 登录界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel("用户:");JTextField txtUser = new JTextField();JLabel password = new JLabel("密码:");JPasswordField txtPwd = new JPasswordField(6);JLabel role = new JLabel("角色:");JComboBox cbrole = new JComboBox();JButton btnLogin = new JButton("登录");JButton btncz = new JButton("重置");JButton btnCancel = new JButton("取消");JLabel imageLabel;Icon image;static int OK = 1;static int CANCEL = 0;int actionCode = 0;Connection con = null;Statement stmt = null;ResultSet rs = null;int qxian = 0;public DLFrame() {// 构造方法super("登录界面");p1 = new JPanel();p2 = new JPanel();p3 = new JPanel();cbrole.addItem("管理员");cbrole.addItem("学生");image = new ImageIcon("Tulips.jpg");imageLabel = new JLabel(image);p1.add(imageLabel);this.setLayout(new FlowLayout());this.setBounds(100, 100, 246, 345);p2.setLayout(new GridLayout(4, 2));p2.add(userName);p2.add(txtUser);p2.add(password);p2.add(txtPwd);p2.add(role);p2.add(cbrole);p3.add(btnLogin);p3.add(btncz);p3.add(btnCancel);this.add(p1);this.add(p2);this.add(p3);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.show();btnLogin.addActionListener(this);cbrole.addItemListener(this);btncz.addActionListener(this);btnCancel.addActionListener(this);}public void connDB() { // 连接数据库try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}try {con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=student","sa", "123");stmt = con.createStatement();} catch (SQLException e) {e.printStackTrace();}}public void closeDB() // 关闭连接{try {stmt.close();con.close();} catch (SQLException e) {e.printStackTrace();}}public void itemStateChanged(ItemEvent e) {if (e.getStateChange() == ItemEvent.SELECTED) {JComboBox jcb = (JComboBox) e.getSource();qxian = jcb.getSelectedIndex();}}public void actionPerformed(ActionEvent e) {Object source = e.getSource();String un = null;String pw = null;boolean success = false;// 用于判断是否登录成功if (source == btnLogin) {if (txtUser.getText().equals("") || txtPwd.getText().equals("")) {// 判断是否输入了用户名和密码JOptionPane.showMessageDialog(null, "登录名和密码不能为空!");} else {this.connDB();try {rs = stmt.executeQuery("select * from unpw where qx="+ qxian);while (rs.next()) {un = rs.getString("un").trim();pw = rs.getString("pw").trim();if (txtUser.getText().equals(un)) {if (txtPwd.getText().equals(pw)) {actionCode = OK;this.setVisible(false);if (qxian == 0) {new ManagerFrane();// 进入管理员界面}if (qxian == 1) {new StudentFrame();// 进入学生界面}success = true;break;} else {JOptionPane.showMessageDialog(null, "密码错误!");txtPwd.setText("");success = true;}}}if (!success) {JOptionPane.showMessageDialog(null, "登录名错误!");txtUser.setText("");txtPwd.setText("");}} catch (SQLException e1) {e1.printStackTrace();}}} else if (source == btncz) {txtUser.setText("");txtPwd.setText("");} else if (source == btnCancel) {System.exit(0);}}public static void main(String[] args){JPanel mainp=new JPanel();DLFrame student=new DLFrame();}}二、管理员界面图片:代码:package li;import java.awt.*;import java.awt.event.*;import javax.swing.*;class ManagerFrane extends JFrame implements ActionListener {// 管理员界面JPanel p1 = new JPanel();JPanel p2 = new JPanel();JButton btns = new JButton("学生信息管理");JButton btnc = new JButton("课程信息管理");JButton btnsc = new JButton("选课信息管理");JButton btng = new JButton("成绩信息管理");JButton btnu = new JButton("用户信息管理");JButton btnClose = new JButton("退出管理系统");JLabel l = new JLabel("管理员");ManagerFrane() {// 构造方法super("学生信息管理系统");setSize(350, 200);add("North", p1);add("Center", p2);p1.add(l);p2.add(btns);p2.add(btnc);p2.add(btnsc);p2.add(btng);p2.add(btnu);p2.add(btnClose);btns.addActionListener(this);btnc.addActionListener(this);btnsc.addActionListener(this);btng.addActionListener(this);btnu.addActionListener(this);btnClose.addActionListener(this);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);show();}public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "学生信息管理")new SM().display();if (e.getActionCommand() == "课程信息管理") {new CM("课程信息管理").display();}if (e.getActionCommand() == "选课信息管理") {new SCM("选课信息管理").display();}if (e.getActionCommand() == "成绩信息管理") {new GM("成绩信息管理").display();}if (e.getActionCommand() == "用户信息管理") {new PM("用户信息管理").display();}if (e.getActionCommand() == "退出管理系统") {System.exit(0);}}}(一)学生信息管理代码:class SM extends JFrame implements ActionListener {// 学生信息管理JPanel p = new JPanel();JButton btnAdd = new JButton("增加");JButton btnDelete = new JButton("删除");JButton btnAlter = new JButton("修改");JButton btnSearch = new JButton("查询");JButton btnDisplay = new JButton("显示");JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();;JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object[][] playerInfo;SSelect sst;String mxh = null;boolean bstd = false;SM() {// 构造方法super("学生信息管理");add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);SM(SSelect sst) {// 构造方法super("学生信息管理");this.sst = sst;bstd = true;add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}public void display() {// 显示所有学生的基本信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try {rs = stmt.executeQuery("select * from s");while (rs.next()) { // 找出表中的记录数赋给ial.add(rs.getString("sno"));al.add(rs.getString("sn"));al.add(rs.getString("ss"));al.add(rs.getInt("sa"));al.add(rs.getString("sd"));i++;}} catch (SQLException e) {e.printStackTrace();}playerInfo = new Object[i][5];String[] columnNames = { "学号", "姓名", "年龄", "性别", "院系" };try {rs = stmt.executeQuery("select * from s order by sno");while (rs.next()) {playerInfo[j][0] = rs.getString("sno");playerInfo[j][1] = rs.getString("sn");playerInfo[j][2] = rs.getInt("sa");playerInfo[j][3] = rs.getString("ss");playerInfo[j][4] = rs.getString("sd");j++;}} catch (SQLException e) {e.printStackTrace();}sTable = new JTable(playerInfo, columnNames);// 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);}public void delete() {// 删除某个学生的基本信息String xh = null;String xm = null;int nl = 0;String xb = null;String yx = null;int row = -1;row = sTable.getSelectedRow();if (row == -1) {// 判断要删除的信息是否被选中JOptionPane.showMessageDialog(null, "请选择要删除的记录!");} else {if (!bstd) {// 判断选择的是不是查询后的结果int j1 = 0;try {rs = stmt.executeQuery("select * from s");while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应xh = rs.getString("sno");xm = rs.getString("sn");nl = rs.getInt("sa");xb = rs.getString("ss");yx = rs.getString("sd");j1++;}} catch (SQLException e) {e.printStackTrace();}int i1 = 0;try {int rs1 = stmt.executeUpdate("delete from s where sno='"+ xh + "'"); // 删除数据库中当前被选中的记录stmt.executeUpdate("delete from unpw where un='" + xh + "'");// 删除对应的用户表中的记录JOptionPane.showMessageDialog(null, "记录删除成功!");this.dispose();new SM().display();} catch (SQLException e) {e.printStackTrace();}} else {try {int rs1 = stmt.executeUpdate("delete from s where sno='"+ mxh + "'");stmt.executeUpdate("delete from unpw where un='" + mxh+ "'");JOptionPane.showMessageDialog(null, "记录删除成功!");this.dispose();new SM().display();} catch (SQLException e) {e.printStackTrace();}}}}public void update() {// 修改某个学生的基本信息String xh = null;String xm = null;int nl = 0;String xb = null;String yx = null;int row = -1;row = sTable.getSelectedRow();if (row == -1) {JOptionPane.showMessageDialog(null, "请选择要修改的记录!");} else {int j1 = 0;try {if (!bstd) {// 判断选择的是不是查询后的结果rs = stmt.executeQuery("select * from s");} else {rs = stmt.executeQuery("select * from s where sno='" + mxh+ "'");}while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应xh = rs.getString("sno");xm = rs.getString("sn");nl = rs.getInt("sa");xb = rs.getString("ss");yx = rs.getString("sd");j1++;}} catch (SQLException e) {e.printStackTrace();}SAdd sadd = new SAdd(xb, yx);sadd.setTitle("修改");sadd.tsno.setText(xh);sadd.tsname.setText(xm);sadd.tsage.setText("" + nl);sadd.tsno.setEnabled(false);this.dispose();}}public void select() {// 显示某个查询的结果mxh = sst.xh;playerInfo = new Object[1][5];String[] columnNames = { "学号", "姓名", "年龄", "性别", "院系" };try {rs = stmt.executeQuery("select * from s where sno='" + mxh + "'");while (rs.next()) {playerInfo[0][0] = rs.getString("sno");playerInfo[0][1] = rs.getString("sn");playerInfo[0][2] = rs.getInt("sa");playerInfo[0][3] = rs.getString("ss");playerInfo[0][4] = rs.getString("sd");}} catch (SQLException e) {e.printStackTrace();}if (playerInfo[0][1] == null) {this.dispose();JOptionPane.showMessageDialog(null, "学号不存在!");new SM().display();} else {sTable = new JTable(playerInfo, columnNames);// 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);}}public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "增加") {new SAdd("男", "计科系");this.dispose();}if (e.getActionCommand() == "删除") {this.delete();}if (e.getActionCommand() == "修改") {this.update();}if (e.getActionCommand() == "查询") {sst = new SSelect("学号:");this.dispose();}if (e.getActionCommand() == "显示") {this.dispose();new SM().display();}}}1.用于学生信息管理中增加或修改某条记录的界面图片:代码:class SAdd extends JFrame implements ActionListener, ItemListener {// 用于学生信息管理中增加或修改某条记录的界面JLabel lsno = new JLabel("学号:");JLabel lsname = new JLabel("姓名:");JLabel lssex = new JLabel("性别:");JLabel lsage = new JLabel("年龄:");JLabel lsdept = new JLabel("院系:");JTextField tsno = new JTextField(14);JTextField tsname = new JTextField(14);JComboBox cbssex = new JComboBox();JTextField tsage = new JTextField(14);JComboBox cbsdept = new JComboBox();JButton btnOK = new JButton(" 确定"); JButton btnCancel = new JButton(" 取消"); JPanel p = new JPanel();Connection con = null;Statement stmt = null;ResultSet rs = null;String xb = "男";String yx = "计科系";boolean isNewsm = true;// 用于判断是否显示学生管理的界面public SAdd(String xb, String yx) {// 构造方法this.xb = xb;this.yx = yx;this.setTitle("增加");this.setBounds(200, 200, 220, 210);if (xb.trim().equals("男")) {cbssex.addItem("男");cbssex.addItem("女");} else {cbssex.addItem("女");cbssex.addItem("男");}if (yx.trim().equals("计科系")) {cbsdept.addItem("计科系");cbsdept.addItem("物理系");cbsdept.addItem("数学系");cbsdept.addItem("外语系");}if (yx.trim().equals("物理系")) {cbsdept.addItem("物理系");cbsdept.addItem("计科系");cbsdept.addItem("数学系");cbsdept.addItem("外语系");}if (yx.trim().equals("外语系")) {cbsdept.addItem("外语系");cbsdept.addItem("计科系");cbsdept.addItem("物理系");cbsdept.addItem("数学系");}if (yx.trim().equals("数学系")) {cbsdept.addItem("数学系");cbsdept.addItem("计科系");cbsdept.addItem("物理系");cbsdept.addItem("外语系");}p.setLayout(new FlowLayout(FlowLayout.LEFT));p.add(lsno);p.add(tsno);p.add(lsname);p.add(tsname);p.add(lsage);p.add(tsage);p.add(lssex);p.add(cbssex);p.add(lsdept);p.add(cbsdept);p.add(btnOK);p.add(btnCancel);this.add(p);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);cbssex.addItemListener(this);cbsdept.addItemListener(this);btnOK.addActionListener(this);btnCancel.addActionListener(this);this.show();}public void insertst() { // 插入记录String xh = null;String xm = null;int nl = 0;xh = tsno.getText();xm = tsname.getText();try {nl = Integer.parseInt((String) tsage.getText());if (this.getTitle() == "修改") {// 如果是修改记录,先删除再增加try {this.connDB();int rs1 = stmt.executeUpdate("delete from s where sno='"+ xh + "'");} catch (SQLException e) {e.printStackTrace();}}String str = "insert into s values('" + xh + "','" + xm + "'," + nl+ ",'" + xb + "','" + yx + "')";this.connDB();// 连接数据库try {stmt.executeUpdate(str);JOptionPane.showMessageDialog(null, this.getTitle() + "成功!","提示", RMATION_MESSAGE, new ImageIcon("menu4.gif"));this.setVisible(false);} catch (SQLException e) {JOptionPane.showMessageDialog(null, "学号已存在!");tsno.setText("");}} catch (NumberFormatException e) {// 判断年龄是否为数字JOptionPane.showMessageDialog(null, "年龄必须是整数!");tsage.setText("");isNewsm = false;}if (this.getTitle() == "增加") {// 如果是增加记录,对应的用户表中也增加一条记录try {stmt.executeUpdate("insert into unpw values('" + xh + "','"+ xh + "'," + 1 + ")");} catch (NullPointerException e) {} catch (SQLException e) {// e.printStackTrace();}}}public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == " 确定") {this.insertst();if (isNewsm) {new SM().display();}isNewsm = true;}if (e.getActionCommand() == " 取消") {this.setVisible(false);new SM().display();}}public void itemStateChanged(ItemEvent e) { // 下拉框的监听if (e.getStateChange() == ItemEvent.SELECTED) {JComboBox jcb = (JComboBox) e.getSource();if ((jcb.getSelectedItem() == "男")|| (jcb.getSelectedItem() == "女")) {xb = (String) jcb.getSelectedItem();} else {yx = (String) jcb.getSelectedItem();}}}}2.用于学生基本信息管理中查询时输入学号的界面图片:代码:public class SSelect extends JFrame implements ActionListener {// 用于学生基本信息管理中查询时输入学号的界面JLabel ltitle = null;JTextField tsno = new JTextField(8);JButton btnOK = new JButton("确定");JPanel p = new JPanel();String xh = null;public SSelect(String str) {// 构造方法ltitle = new JLabel(str);p.add(ltitle);p.add(tsno);p.add(btnOK);add(p);this.setBounds(300, 280, 200, 160);btnOK.addActionListener(this);this.setResizable(false);this.show();}public void actionPerformed(ActionEvent e) {xh = tsno.getText();// 取得当前输入学号的值if (xh.equals("")) {// 判断是否输入了学号JOptionPane.showMessageDialog(null, "学号不能为空,请重新输入!");} else {this.dispose();new SM(this).select();}}}(二)课程信息管理图片:代码:class CM extends JFrame implements ActionListener {// 课程信息管理JPanel p = new JPanel();JButton btnAdd = new JButton("增加");JButton btnDelete = new JButton("删除");JButton btnAlter = new JButton("修改");JButton btnSearch = new JButton("查询");JButton btnDisplay = new JButton("显示");JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();;JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object[][] playerInfo;CSelect cst;String mkch = null;boolean bstd = false;CM(String title) {// 构造方法super(title);add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);CM(CSelect cst, String title) {// 构造方法super(title);this.cst = cst;bstd = true;add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}public void display() {// 显示所有的课程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try {rs = stmt.executeQuery("select * from c");while (rs.next()) {// 找出表中的记录数赋给ial.add(rs.getString("cno"));al.add(rs.getString("cn"));al.add(rs.getString("pcno"));i++;}} catch (SQLException e) {e.printStackTrace();}playerInfo = new Object[i][3];String[] columnNames = { "课程号", "课程名", "先行课程号" };try {rs = stmt.executeQuery("select * from c order by cno");while (rs.next()) {playerInfo[j][0] = rs.getString("cno");playerInfo[j][1] = rs.getString("cn");playerInfo[j][2] = rs.getString("pcno");j++;}} catch (SQLException e) {e.printStackTrace();}sTable = new JTable(playerInfo, columnNames);// 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);}public void connDB() { // 连接数据库try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}try {con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=student","sa", "123");stmt = con.createStatement();} catch (SQLException e) {e.printStackTrace();}}public void closeDB() // 关闭连接{try {stmt.close();con.close();} catch (SQLException e) {e.printStackTrace();}}public void delete() {// 删除某个课程信息String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row == -1) {// 判断要删除的信息是否被选中JOptionPane.showMessageDialog(null, "请选择要删除的记录!");} else {if (!bstd) {// 判断选择的是不是查询后的结果int j1 = 0;try {rs = stmt.executeQuery("select * from c");while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应kch = rs.getString("cno");kcm = rs.getString("cn");xxkch = rs.getString("pcno");j1++;}} catch (SQLException e) {e.printStackTrace();}int i1 = 0;try {int rs1 = stmt.executeUpdate("delete from c where cno='"+ kch + "'");// 删除数据库中当前被选中的记录JOptionPane.showMessageDialog(null, "记录删除成功!");this.dispose();new CM("课程信息管理").display();} catch (SQLException e) {e.printStackTrace();}} else {try {int rs1 = stmt.executeUpdate("delete from c where cno='"+ mkch + "'");// 删除数据库中当前被选中的记录JOptionPane.showMessageDialog(null, "记录删除成功!");this.dispose();new CM("课程信息管理").display();} catch (SQLException e) {e.printStackTrace();}}}}public void update() {// 修改某个课程记录String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row == -1) {JOptionPane.showMessageDialog(null, "请选择要修改的记录!");} else {int j1 = 0;try {if (!bstd) {// 判断选择的是不是查询后的结果rs = stmt.executeQuery("select * from c");} else {rs = stmt.executeQuery("select * from c where cno='" + mkch+ "'");}while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应kch = rs.getString("cno");kcm = rs.getString("cn");xxkch = rs.getString("pcno");j1++;}} catch (SQLException e) {e.printStackTrace();}CAdd cadd = new CAdd();cadd.setTitle("修改");cadd.tcno.setText(kch);cadd.tcname.setText(kcm);cadd.tpcno.setText(xxkch);cadd.tcno.setEnabled(false);this.dispose();}}public void select() {// 显示某个查询的结果mkch = cst.kch;playerInfo = new Object[1][3];String[] columnNames = { "课程号", "课程名", "先行课程号" };try {rs = stmt.executeQuery("select * from c where cno='" + mkch + "'");while (rs.next()) {playerInfo[0][0] = rs.getString("cno");playerInfo[0][1] = rs.getString("cn");playerInfo[0][2] = rs.getString("pcno");}} catch (SQLException e) {e.printStackTrace();}if (playerInfo[0][1] == null) {this.dispose();JOptionPane.showMessageDialog(null, "课程号不存在!");new CM("课程信息管理").display();} else {sTable = new JTable(playerInfo, columnNames);// 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);}}public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "增加") {new CAdd();this.dispose();}if (e.getActionCommand() == "删除") {this.delete();}if (e.getActionCommand() == "修改") {this.update();}if (e.getActionCommand() == "查询") {cst = new CSelect();this.dispose();}if (e.getActionCommand() == "显示") {this.dispose();new CM("课程信息管理").display();}}}3.用于课程信息管理中增加或修改某条记录的界面图片:代码:class CAdd extends JFrame implements ActionListener{// 用于课程信息管理中增加或修改某条记录的界面JLabel lcno = new JLabel("课程号:");JLabel lcname = new JLabel("课程名:");JLabel lpcno = new JLabel("先行课程号:");JTextField tcno = new JTextField(10);JTextField tcname = new JTextField(10);JTextField tpcno = new JTextField(10);JButton btnOK = new JButton("确定");JButton btnCancel = new JButton("取消");JPanel p = new JPanel();Connection con = null;Statement stmt = null;ResultSet rs = null;boolean isNewsm = true;// 用于判断是否显示课程信息管理的界面public CAdd() {// 构造方法this.setTitle("增加");this.setBounds(200, 200, 146, 235);p.setLayout(new FlowLayout(FlowLayout.LEFT));p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lpcno);p.add(tpcno);p.add(btnOK);p.add(btnCancel);this.add(p);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btnOK.addActionListener(this);btnCancel.addActionListener(this);this.show();}public void insertst() { // 插入记录String kch = null;String kcm = null;String xxkch=null;kch = tcno.getText();kcm = tcname.getText();xxkch=tpcno.getText();if (this.getTitle() == "修改") {// 如果是修改记录,先删除再增加try {this.connDB();int rs1 = stmt.executeUpdate("delete from c where cno='"+ kch + "'");} catch (SQLException e) {e.printStackTrace();}}String str = "insert into c values('" + kch + "','" + kcm + "','"+ xxkch + "')";public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "确定") {this.insertst();if (isNewsm) {new CM("课程信息管理").display();}isNewsm = true;}if (e.getActionCommand() == "取消") {this.setVisible(false);new CM("课程信息管理").display();}}}4.用于课程信息管理中查询时输入课程号的界面图片:代码:public class CSelect extends JFrame implements ActionListener {// 用于课程信息管理中查询时输入课程号的界面JLabel ltitle = new JLabel("课程号:");JTextField tcno = new JTextField(8);JButton btnOK = new JButton("确定");JPanel p = new JPanel();String kch = null;public CSelect() { // 构造方法p.add(ltitle);p.add(tcno);p.add(btnOK);add(p);this.setBounds(300, 280, 200, 160);btnOK.addActionListener(this);this.setResizable(false);this.show();}public void actionPerformed(ActionEvent e) {kch = tcno.getText();// 取得当前输入课程号的值if (kch.equals("")) {// 判断是否输入了课程号JOptionPane.showMessageDialog(null, "课程号不能为空,请重新输入!");} else {this.dispose();new CM(this, "课程信息管理").select();}}}(三)选课信息管理图片:代码:class SCM extends JFrame implements ActionListener {// 选课信息管理JPanel p = new JPanel();JButton btnSearch = new JButton("查询");JButton btnDisplay = new JButton("显示");JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();;JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object[][] playerInfo;SCSelect scst;String mscxh = null;int ii = 0;boolean bstd = false;SCM(String title) {// 构造方法super(title);add("South", p);this.add("Center", p1);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}SCM(SCSelect scst, String title) {// 构造方法super(title);this.scst = scst;bstd = true;add("South", p);this.add("Center", p1);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();}public void display() {// 显示所有选课信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try {rs = stmt.executeQuery("select * from sc");while (rs.next()) {// 找出表中的记录数赋给ial.add(rs.getString("sno"));。
学生信息管理系统java代码以下是一个简单的学生信息管理系统Java代码,包括增删改查等基本功能实现:```javaimport java.util.ArrayList;import java.util.Scanner;class Student{ // 学生类private String sno; // 学号private String name; // 姓名private String sex; // 性别private int age; // 年龄public Student(String sno, String name, String sex, int age) { // 构造函数this.sno = sno; = name;this.sex = sex;this.age = age;}@Overridepublic String toString() { // 输出学生信息return "学号:" + sno + ", 姓名:" + name + ", 性别:" + sex + ", 年龄:" + age;}// Getter和Setter方法public String getSno() {return sno;}public void setSno(String sno) {this.sno = sno;}public String getName() {return name;}public void setName(String name) { = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}public class StudentManagementSystem { // 学生信息管理系统static ArrayList<Student> students = new ArrayList<>(); // 学生列表static Scanner scanner = new Scanner(System.in);public static void main(String[] args) {while (true) {System.out.println("请输入命令(1.新增,2.查询,3.修改,4.删除,5.退出):");int command = scanner.nextInt();switch (command) {case 1: // 新增学生addStudent();break;case 2: // 查询学生queryStudent();break;case 3: // 修改学生updateStudent();break;case 4: // 删除学生deleteStudent();break;case 5: // 退出程序return;default:System.out.println("无效命令!");}}}public static void addStudent() { // 新增学生System.out.println("请输入学号:");String sno = scanner.next();System.out.println("请输入姓名:");String name = scanner.next();System.out.println("请输入性别:");String sex = scanner.next();System.out.println("请输入年龄:");int age = scanner.nextInt();Student student = new Student(sno, name, sex, age);students.add(student);System.out.println("新增学生信息成功!");}public static void queryStudent() { // 查询学生System.out.println("请输入学号:");String sno = scanner.next();for (int i = 0; i < students.size(); i++) {if (students.get(i).getSno().equals(sno)) {System.out.println(students.get(i).toString()); return;}}System.out.println("未找到该学生信息!");}public static void updateStudent() { // 修改学生System.out.println("请输入学号:");String sno = scanner.next();for (int i = 0; i < students.size(); i++) {if (students.get(i).getSno().equals(sno)) {System.out.println("请输入新姓名:");String name = scanner.next();System.out.println("请输入新性别:");String sex = scanner.next();System.out.println("请输入新年龄:");int age = scanner.nextInt();students.get(i).setName(name);students.get(i).setSex(sex);students.get(i).setAge(age);System.out.println("修改学生信息成功!");return;}}System.out.println("未找到该学生信息!");}public static void deleteStudent() { // 删除学生System.out.println("请输入学号:");String sno = scanner 。
原创Java课程设计学生信息管理系统引言学生信息管理系统是一种用于管理学生信息的软件工具,它可以方便、高效地记录、存储和查询学生的基本信息、课程成绩、考勤情况等。
本文将介绍一个原创的Java课程设计学生信息管理系统,该系统可以帮助教师和学校管理人员更好地管理学生信息。
功能需求学生信息管理系统应具备以下基本功能: - 学生信息录入:包括学生的基本信息,如姓名、性别、年龄、联系方式等。
- 学生信息修改:可以修改学生的基本信息,如年龄、联系方式等。
- 学生信息查询:可以根据姓名、学号等关键字进行学生信息的查询。
- 成绩管理:可以录入学生的课程成绩,并进行统计、排名等操作。
- 考勤管理:可以记录学生的考勤情况,如出勤、迟到、旷课等。
- 学生信息导出:可以将学生的基本信息、成绩、考勤情况等导出为Excel或CSV格式的文件。
- 数据备份与恢复:可以进行学生信息的数据备份与恢复,以防止数据丢失。
系统设计学生信息管理系统采用Java语言进行开发,使用MySQL作为数据库进行数据存储。
系统采用面向对象的设计思想,使用MVC(Model-View-Controller)架构模式进行设计。
模块划分系统可以划分为以下几个模块: - 学生信息录入模块:负责学生信息的录入和修改。
- 学生信息查询模块:负责学生信息的查询和展示。
- 成绩管理模块:负责成绩的录入、统计和排名。
- 考勤管理模块:负责考勤情况的记录与查询。
- 数据导入导出模块:负责学生信息的导入导出。
- 数据备份与恢复模块:负责学生信息的数据备份和恢复。
数据库设计系统使用MySQL数据库进行数据存储,设计以下几个表: - 学生表(students):存储学生的基本信息,包括姓名、性别、年龄、联系方式等字段。
- 成绩表(grades):存储学生的课程成绩,包括学生ID、课程ID、成绩等字段。
- 考勤表(attendance):存储学生的考勤情况,包括学生ID、考勤日期、考勤状态等字段。
Java考核课程名称___Java程序设计______题目名称___学生信息管理系统__学生学院____计算机____________专业班级__计算机15(6)班______学号___3115005111_________学生姓名__穆太力普·凯尤木____指导教师_____ 赵锐___ _______2016年12 月13 日目录第一章总体设计 (4)1.1本系统的主要功能 (4)1.2系统包含的类及类之间的关系 (4)1.3 Java源文件及其功能 (4)1.4相关文件及其功能 (5)第二章详细设计 (5)2.1主类MainWindow (5)2.2类Database (6)2.3类StuBean (7)2.4类InputStudent (8)2.5类ModifyStudent (8)2.6类QueryStudent (9)2.7类DeleteStudent (10)第三章功能测试及运行效果 (11)3.1 系统主界面 (11)3.2 录入学生信息界面 (11)3.3 查询学生信息界面 (12)3.4 修改学生信息界面 (13)3.5 修改学生信息界面 (13)工作总结 (14)参考文献 ..................................................................................... 错误!未定义书签。
第一章总体设计1.1本系统的主要功能本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。
1.2系统包含的类及类之间的关系本系统共包括7个Java源文件和3个辅助文件。
类之间的关系如图1-1所示图 1-1 类之间的关系图1.3 Java源文件及其功能1.MainWindow.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.InputStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。
学生学籍管理详细设计学号:____________姓名:____________班级:____________一、设计题目:学生学籍管理二:设计内容:设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除.三:设计要求:进行简单的学生信息管理.四:总体设计(1)登陆界面的设计(2)主窗体的设计(3)添加学生信息窗体(4)查询学生信息窗体(5)修改学生信息窗体(6)删除学生信息窗体(7)事件响应的处理五:具体设计(1)程序结构的说明:A.入口程序:student.java;B.登陆界面程序:mainframe。
java;C.主窗体程序:interfac.java;D.添加信息窗口程序:tj.java;E.修改信息窗口程序:xg.java;F.查询信息窗口程序:cx.java;G.删除信息窗口程序:sc。
java;H.程序数据连接:DatabaseConn.java;(2)程序代码及分析说明A。
程序源代码(已提交)B。
Student.java是程序的入口.使登录窗口位于窗口中间,并且不可改变窗口大小。
C。
mainframe.java是程序的登陆窗体。
输入用户名和密码(用户名和密码在数据库的password 表中)点击“进入系统",然后登陆界面消失;出现要操作的界面(屏幕左上角)。
D.tj.java是添加信息界面.添加基本信息后,点击“添加信息"按钮,将信息加入xinxi表中。
E。
xg.java是修改信息界面。
输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。
F.sc.java是删除信息界面。
输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。
G。
cx。
java是查询信息界面.输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。
设计数据库:CREATE DATABASE 学生成绩管理系统(1)教师信息表创建:create table 教师信息表(教师ID varchar(8) primary key ,教师姓名 varchar(8) not null unique, 登录密码 varchar(8) not null,(2)学籍信息表创建:create table 学籍信息表(学号 varchar(15) primary key,姓名 varchar(8) not null ,年龄 varchar(10),出生日期 varchar(10),性别 varchar(4) ,班级 varchar(8) not null ,专业 varchar(5) ,民族 varchar(10),登录密码 varchar(6) not null)(3)成绩信息表创建:create table 成绩信息表(学号 varchar(15),计算机网络 varchar(8),计算机专业英语 smallint,计算机信息技术基础 smallint,Java程序设计 smallint ,数据库应用实训教程 smallint ,高等数学 smallint ,Xml smallint ,)概要结构分析:Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.C ONCUR_UPDATABLE);ResultSet re=stmt.executeQuery(sql);return re;}catch(Exception e){System.out.println("getResult------"+e.toString());return null;}}public boolean executeSql(String sql){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt=conn.createStatement();stmt.executeUpdate(sql);connmit();return true;}catch(Exception e){System.out.println("executeSql----"+e.toString());return false;}}}class stuMainFrame extends JFrame implements ActionListener {JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("信息");JMenu Score = new JMenu("查询");JMenuItem Item1 = new JMenuItem("添加学生信息");JMenuItem mName=new JMenuItem("学生成绩查询");JMenuItem mScore=new JMenuItem("按成绩查询");JMenuItem mNam1=new JMenuItem("查询学生信息");JLabel label = new JLabel();public stuMainFrame(){ImageIcon icon = newImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());this.setJMenuBar(jmb);jmb.add(Message);jmb.add(Score);Message.add(Item1);Score.add(mNam1);Score.add(mName);Score.add(mScore);Item1.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mNam1.addActionListener(this); }public void actionPerformed(ActionEvent e){if(e.getSource()==Item1){ new addForm().setVisible(true);}else if(e.getSource()==mName){ dispose();new Score1().setVisible(true);}else if(e.getSource()==mScore){new scoreQueryForm().setVisible(true);}else if(e.getSource()==mNam1){dispose();new Serch1().setVisible(true);}}}class mainFrame extends JFrame implements ActionListener{ J Label label = new JLabel();J MenuBar mBar= new JMenuBar();J Panel p=new JPanel();p rivate JMenu mSystem,mOperate,mQuery,mHelp,myMenuUser;p rivate JMenuItemmFile,mNew,mOpen,mExit,mAdd,mDel,mModify,mName,miShow,mScore,mAbout,m iUser,mAddSc;p ublic mainFrame(){this.setJMenuBar(mBar);I mageIcon icon = new ImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());myMenuUser=new JMenu("用户");miUser=new JMenuItem("编辑用户");myMenuUser.add(miUser);mSystem=new JMenu("系统");mOperate=new JMenu("数据操作");mQuery=new JMenu("查询");mHelp=new JMenu("帮助");mBar.add(mSystem);mBar.add(mOperate);mBar.add(mQuery);mBar.add(mHelp);mBar.add(myMenuUser);mFile=new JMenuItem("文件");mNew=new JMenuItem("新建");mOpen=new JMenuItem("打开");mExit=new JMenuItem("退出");mSystem.add(mFile);mSystem.add(mNew);mSystem.add(mOpen);mSystem.addSeparator();mSystem.add(mExit);mAdd=new JMenuItem("添加基本信息");mAddSc=new JMenuItem("添加成绩信息");mDel=new JMenuItem("删除");mModify=new JMenuItem("修改");mOperate.add(mAdd);mOperate.add(mAddSc);mOperate.add(mDel);mOperate.add(mModify);mName=new JMenuItem("查询学生信息");mScore=new JMenuItem("查询学生成绩");miShow=new JMenuItem("全部显示");mQuery.add(mName);mQuery.add(mScore);mQuery.addSeparator();mQuery.add(miShow);mAbout=new JMenuItem("软件信息");mHelp.add(mAbout);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mAbout.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);mAddSc.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==mExit){dispose();new CJ().setVisible(true);}else if(e.getSource()==mAbout){JOptionPane.showMessageDialog(this,"学生成绩管理系统\n\n电信学院\n\n2019年3月","软件信息",JOptionPane RMATION_MESSAGE);}else if(e.getSource()==mAdd){dispose();new addForm().setVisible(true);}else if(e.getSource()==mAddSc){dispose();new addScore().setVisible(true);}else if(e.getSource()==mDel){dispose();new deleteForm().setVisible(true);}else if(e.getSource()==mName){dispose();new Serch().setVisible(true);}else if(e.getSource()==mScore){dispose();new Score().setVisible(true);}else if(e.getSource()==mModify){new modifyForm().setVisible(true);} else if(e.getSource()==miUser){new userFrame().setVisible(true);}else if(e.getSource()==miShow){new freshTable().setVisible(true); }}} class CJ extends JFrame implements ActionListener{ JLabel t1=new JLabel("ID号:");JLabel t3=new JLabel("密码:");JLabel label = new JLabel();public String zh=null;JTextField t2=new JTextField(null,15);JTextField t4=new JPasswordField(null,15);JRadioButton b=new JRadioButton("教师");JRadioButton b1=new JRadioButton("学生");JButton jB1=new JButton("登录");JButton jB2=new JButton("取消");public CJ (){super("学生生成绩管理系统");setLayout(null);jB1.setBounds(110,170,60,20);jB1.setBackground(Color.red);add(jB1);jB2.setBounds(210,170,60,20);jB2.setBackground(Color.red);add(jB2);t1.setBounds(90,50,80,35);add(t1);t2.setBounds(120,50,150,35);add(t2);t3.setBounds(90,100,80,35);add(t3);t4.setBounds(120,100,150,35);add(t4);b.setBounds(200,20,70,30);b1.setBounds(120,20,70,30);ButtonGroup bg=new ButtonGroup();b.setSelected(false);b1.setSelected(true);b1.setSelected(false);add(b);bg.add(b);add(b1); bg.add(b1);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);ImageIcon icon = new ImageIcon("src/images/a.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight()); add(label);setSize(label.getWidth(),label.getHeight());setResizable(false);setVisible(true);setLocation(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jB1.addActionListener(this);jB2.addActionListener(this);}public void actionPerformed(ActionEvent e) {if (e.getSource()==jB2){System.exit(0);}else if (e.getSource()==jB1){String username , password;username = t2.getText();password = t4.getText();if(b.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", JOptionPane RMATION_MESSAGE);else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", JOptionPane RMATION_MESSAGE);else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 教师信息表 where 教师ID='"+username.toString()+"' and 登录密码 = '"+password.toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";mainFrame mf=new mainFrame();mf.setLayout(null);mf.setVisible(true);mf.setLocation(300,300);mf.setResizable(false);mf.setTitle("学生成绩管理系统:教师登录界面");mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);JOptionPane.showMessageDialog( null,rs.getString("教师姓名")+"老师!您好!欢迎登录学生成绩管理系统!" ) ; }else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", JOptionPane RMATION_MESSAGE);catch(Exception er){System.out.println(er.toString());if(b1.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", JOptionPane RMATION_MESSAGE);else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", JOptionPane RMATION_MESSAGE);else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 学籍信息表 where 学号='"+t2.getText().toString()+"' and 登录密码 ='"+t4.getText().toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";stuMainFrame smf =new stuMainFrame();s mf.setSize(500,400);smf.setVisible(true);smf.setResizable(false);smf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);s mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);JOptionPane.showMessageDialog( null,rs.getString("学生姓名")+"同学!您好!欢迎登录学生成绩管理系统!" ) ; } }else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", JOptionPane RMATION_MESSAGE);catch(Exception er){System.out.println(er.toString());public static void main(String[] args) {try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());catch(Exception e){}CJ frame=new CJ();new mainFrame();stuMainFrame stu = new stuMainFrame();}}2.添加学生基本信息import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.awt.*;import java.awt.event.*;import java.sql.*;public class addForm extends JFrame implements ActionListener{ JLabel label1 = new JLabel("添加基本信息",JLabel.CENTER);JLabel labxuehao=new JLabel("学号:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labName=new JLabel("姓名:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel labclass=new JLabel("班级:",JLabel.CENTER);JLabel labzy=new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);JLabel labsex = new JLabel("性别:",JLabel.CENTER);JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtXueHao=new JTextField(20);JTextField txtYear=new JTextField(20);JTextField txtClass=new JTextField(20);JTextField txtZY=new JTextField(20);JTextField txtMZ=new JTextField(20);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JButton btnAdd=new JButton("添加");JButton btnCancel=new JButton("返回");JButton btnReset = new JButton("重置");JPanel jpl=new JPanel(); //创建面板对象Connection con;Statement sql;ResultSet rs;addForm(){ super("添加学生信息");this.setResizable(false);this.setSize(550,450);this.setVisible(true);this.setLocation(300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);btnAdd.addActionListener(this);btnReset.addActionListener(this);btnCancel.addActionListener(this);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);label1.setBounds(100,20,300,20);jpl.add(label1);labxuehao.setBounds(100,50,70,20);jpl.add(labxuehao);txtXueHao.setBounds(190,50,140,20);jpl.add(txtXueHao);labName.setBounds(100,90,70,20);jpl.add(labName);txtName.setBounds(190,90,140,20);jpl.add(txtName);labsex.setBounds(110,130,60,20);jpl.add(labsex);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);labyear.setBounds(100,180,70,20);jpl.add(labyear);txtYear.setBounds(190,180,140,20);jpl.add(txtYear);labDate.setBounds(100,210,70,20);jpl.add(labDate);txtDate.setBounds(190,210,140,20);jpl.add(txtDate);labmz.setBounds(100,240,70,20);jpl.add(labmz);txtMZ.setBounds(190,240,140,20);jpl.add(txtMZ);labclass.setBounds(100,270,70,20);jpl.add(labclass);txtClass.setBounds(190,270,140,20);jpl.add(txtClass);labzy.setBounds(100,300,70,20);jpl.add(labzy);txtZY.setBounds(190,300,140,20);jpl.add(txtZY);btnReset.setBounds(80,350,90,20);btnAdd.setBounds(200,350,90,20);btnCancel.setBounds(320,350,90,20);jpl.add(btnReset);jpl.add(btnAdd);jpl.add(btnCancel);}public void actionPerformed(ActionEvent e){ if(e.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);}if(e.getSource()==btnAdd){if (txtXueHao.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入学号", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtName.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入姓名", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtYear.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入年龄", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtDate.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "出生日期", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtZY.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入专业", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtMZ.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入民族", "温馨提示", JOptionPane RMATION_MESSAGE);}else if (txtClass.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入班级", "温馨提示", JOptionPane RMATION_MESSAGE);}else{String sex;if(man.isSelected()){ sex="男";}else{ sex="女"; }try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(null,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 学籍信息表(学号 ,登录密码,姓名,年龄 , 出生日期 , 性别 , 班级,专业,民族)values('"+txtXueHao.getText()+"','"+00000+"','"+txtName.getText()+ "','"+txtYear.getText()+"','"+txtDate.getText()+"','"+sex+"','"+txtCl ass.getText()+"','"+txtZY.getText()+"','"+txtMZ.getText()+"')");if(a==1){JOptionPane.showMessageDialog(null,"已成功添加","温馨提示",JOptionPane RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"添加失败","温馨提示",JOptionPane RMATION_MESSAGE);}stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}} else{ txtClass.setText("");txtZY.setText("");txtMZ.setText("");txtName.setText("");txtDate.setText("");txtXueHao.setText("");txtYear.setText("");txtXueHao.requestFocus();}}public static void main(String[] args){addForm amg = new addForm();}}3.添加学生成绩import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class addScore extends JFrame implements ActionListener{static addScore ss;JLabel[] label = {new JLabel("学号:") , new JLabel("计算机网络:") , new JLabel("Linux操作系统:") , new JLabel("计算机专业英语:") , new JLabel("计算机信息技术基础:") , new JLabel("Java程序设计:") , new JLabel("数据库应用实训教程:") , new JLabel("高等数学:") , new JLabel("XML:")};JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };JButton add = new JButton("添加");JButton reset = new JButton("重置");JButton Cancel=new JButton("返回");JPanel jpl = new JPanel();JLabel title = new JLabel("添加学生成绩" , JLabel.CENTER);Font f = new Font("黑体" , Font.BOLD , 16 );int s=100;public addScore()super("添加学生信息");this.setResizable(false);this.setSize(500,600);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);this.add(jpl);Cancel.addActionListener(this);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i <label.length ; i++)label[i].setBounds(100,s,140,20);jpl.add(label[i]);txt[i].setBounds(260,s,140,20);jpl.add(txt[i]);s=s+40;add.setBounds(100,s,80,20);reset.setBounds(200,s,80,20);Cancel.setBounds(300,s,80,20);jpl.add(add);jpl.add(reset);jpl.add(Cancel);public void actionPerformed(ActionEvent e)if(e.getSource()==Cancel){dispose();new mainFrame().setVisible(true);else if(e.getSource()==add){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 成绩信息表(学号 , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程 , 高等数学 ,Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].ge tText()+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].ge tText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].ge tText()+"')");if(a==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage()); }} else{for(int i = 0 ; i<txt.length ; i++){txt[i].setText("");txt[0].requestFocus(); }}}public static void main(String[] args){addScore as = new addScore();}}4.修改学生信息:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class extends JFrame implements ActionListener JPanel jpl = new JPanel();JLabel SCH = new JLabel("修改学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel("姓名:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnModify = new JButton("修改");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;public modifyForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnModify.addActionListener(this);btnCancel.addActionListener(this);SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20);btnModify.setBounds(230,100,90,20);btnCancel.setBounds(340,100,90,20);jpl.add(btnQuery);jpl.add(btnModify);jpl.add(btnCancel);label2.setBounds(100,150,70,20);jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20);jpl.add(labyear);tyear.setBounds(190,180,140,20);jpl.add(tyear);labDate.setBounds(100,210,70,20);jpl.add(labDate);tDate.setBounds(190,210,140,20);jpl.add(tDate);label5.setBounds(100,250,70,20);jpl.add(label5);man.setBounds(205,250,60,20);women.setBounds(285,250,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,290,70,20);jpl.add(label3);clas.setBounds(190,290,140,20);jpl.add(clas);label4.setBounds(100,320,70,20);jpl.add(label4);scl.setBounds(190,320,140,20);jpl.add(scl);labmz.setBounds(100,350,70,20);jpl.add(labmz);tmz.setBounds(190,350,140,20);jpl.add(tmz);public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);}else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ }try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();rs=sql.executeQuery("select * from 学籍信息表 where 学号='"+num.getText()+"'");if(rs.next()){num.setText(rs.getString("学号"));nam.setText(rs.getString("姓名"));tyear.setText(rs.getString("年龄").toString());tDate.setText(rs.getString("出生日期"));if(rs.getString("性别").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs.getString("班级"));scl.setText(rs.getString("专业"));tmz.setText(rs.getString("民族"));btnModify.setEnabled(true);nam.setEditable(true);tyear.setEditable(true);tDate.setEditable(true);clas.setEditable(true);scl.setEditable(true);tmz.setEditable(true);}else{JOptionPane.showMessageDialog(null, "不存在该记录!", "温馨提示", JOptionPane RMATION_MESSAGE);btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false);}}catch(SQLException e){ } }else if(ae.getSource()==btnModify){ try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();re=sql.executeUpdate("Update 学籍信息表 set 姓名='"+nam.getText()+"',年龄='"+tyear.getText()+"',出生日期='"+tDate.getText()+"',班级='"+clas.getText()+"',专业='"+scl.getText()+"',民族='"+tmz.getText()+"' where 学号='"+num.getText()+"'");if(re==1){JOptionPane.showMessageDialog(null,"记录修改完毕!","温馨提示",JOptionPane RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"记录修改失败!","温馨提示",JOptionPane RMATION_MESSAGE);}sql.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}else{btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false); } }public static void main(String[] args) {new modifyForm(); }}5.删除学生信息import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class deleteForm extends JFrame implements ActionListener { JPanel jpl = new JPanel();JLabel SCH = new JLabel("删除学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel("姓名:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnDelete = new JButton("删除");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;deleteForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnDelete.addActionListener(this);btnCancel.addActionListener(this); SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20); jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20); btnDelete.setBounds(230,100,90,20); btnCancel.setBounds(340,100,90,20); jpl.add(btnQuery);jpl.add(btnDelete);jpl.add(btnCancel);label2.setBounds(100,150,70,20); jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20); jpl.add(labyear);tyear.setBounds(190,180,140,20); jpl.add(tyear);labDate.setBounds(100,210,70,20); jpl.add(labDate);tDate.setBounds(190,210,140,20); jpl.add(tDate);label5.setBounds(100,250,70,20); jpl.add(label5);man.setBounds(205,250,60,20); women.setBounds(285,250,60,20); bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,290,70,20); jpl.add(label3);clas.setBounds(190,290,140,20);jpl.add(clas);label4.setBounds(100,320,70,20); jpl.add(label4);scl.setBounds(190,320,140,20);jpl.add(scl);labmz.setBounds(100,350,70,20);jpl.add(labmz);tmz.setBounds(190,350,140,20);。
/*Êý¾Ý¿âÁ¬½Ó¹¤¾ßÀà*/import java.sql.Connection。
import java.sql.DriverManager。
import java.sql.ResultSet。
import java.sql.SQLException。
import java.sql.Statement。
public class DB {// »ñµÃÊý¾Ý¿âÁ¬½Ópublic static Connection getConn(> {// ×¢²ámysqlµÄjdbcÇý¶¯try {Class.forName("com.mysql.jdbc.Driver">。
} catch (ClassNotFoundException e> {e.printStackTrace(>。
}// ´´½¨Êý¾Ý¿âÁ¬½Ó¶ÔÏóString ip = "localhost"。
String dbName = "jdbc"。
String url = "jdbc:mysql://" + ip + "/" + dbName。
"学生基本信息管理系统"运行说明:1.运行系统2.输入管理员姓名和密码,点击"进入"按钮,进行步骤3;若输入的姓名或密码不正确,则弹出提示对话框,提示"姓名输入错误或密码输入错误!"3.进入操作界面(1)若选择了"菜单选项"下的"录入学生基本信息",则进入录入界面:输入要录入的学号,姓名,选择性别、专业、年级、出生日期;若学号字段为空,则弹出提示对话框提示"学号字段不能为空!",若其它字段为空则弹出对话框提示"选项不能为空!";在正确的输入下点击"录入"按钮,弹出提示对话框提示"录入成功".若要继续录入点击"重置"按钮.(2)若选择了"菜单选项"下的"修改学生基本信息",则进入修改界面:输入要修改的学号,点击"开始修改"按钮,在下面的选项中会显示待修改的学生的基本信息,此时依次进行修改,修改完成后,点击"录入修改",弹出对话框提示"修改成功!";若学号输入为空,则弹出对话框提示"学号字段不能为空!";若输入的学号没有在库中,则弹出对话框提示"该学号不存在!请确认后再输入!";(3)若选择了"菜单选项"下的"查询学生基本信息",则进入查询界面:输入要查询的学号,点击"查询"按钮,该学生的基本信息就会在下面的相应项中显示出来;若输入学号为空则弹出对话框提示"学号字段不能为空!";若输入的学号不存在则弹出对话框提示"该学号不存在!请确认后再输入!";(4)若选择了"菜单选项"下的"删除学生基本信息",则进入删除界面:输入要删除的学号,打回车,则该学生的相关信息就会在下面的相应项中显示出来,点击"删除"按钮,弹出对话框"确定要删除该学生的基本信息吗?",点击"是",则该生基本信息被删除,点击"否",则取消操作;(5)若选择了"设置选项"下的"重新设置"菜单,则弹出重新设置窗口:输入新的管理员姓名,密码及确认密码,点击"重新注册",登陆的姓名和密码就会改变,点击"取消",不改变.(6)若选择了"设置选项"下的"退出"菜单项,则退出操作界面,返回登陆界面.注:行动环境eclipse-SDK-3.4.1-win32(JA V A的一种集成开发平台).zip总体设计本系统共包括8个java源文件和一个SQL Server数据库。
JAVA程序设计课程设计报告课题: 学生信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:评阅意见:评定成绩:指目录一、系统描述 (2)1、需要实现的功能 (3)2、设计目的 (3)二、分析与设计 (3)1、功能模块划分 (3)2、数据库结构描述 (4)3、系统详细设计文档 (6)4、各个模块的实现方法描述 (9)5、测试数据及期望结果 (11)三、系统测试 (16)四、心得体会 (23)五、参考文献 (24)六、附录 (24)一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。
Java实现学⽣信息管理系统编写⼀个简单的学⽣管理信息系统。
在oracle中设计⼀张学⽣表,以学号作为关键字。
其他学⽣信息有:姓名、⼿机号。
在进⼊系统时,显⽰如下菜单:**************************************************=====欢迎进⼊学⽣管理信息系统=====1. 新增学⽣2. 修改学⽣3. 删除学⽣4. 查询学⽣5. 退出系统请选择(1-5):**************************************************(1) 新增学⽣功能:**************************************************=====新增学⽣=====学号:姓名:⼿机号:保存成功!是否继续添加(y/n):*************************************************(2) 修改学⽣功能:**************************************************=====修改学⽣=====请输⼊要修改的学⽣学号:111该学⽣信息如下:学⽣学号:111学⽣姓名:张三学⽣⼿机号:133********请输⼊新的学⽣信息:学⽣姓名:李四学⽣⼿机号:133********保存成功!**************************************************(3) 删除学⽣功能:**************************************************=====删除学⽣=====请输⼊要删除的学⽣学号:111该学⽣信息如下:学⽣学号:111学⽣姓名:张三学⽣⼿机号:133********是否真的删除(y/n):y删除成功!**************************************************(4) 查询学⽣功能**************************************************=====查询学⽣=====学⽣信息如下:学号姓名⼿机号111 张三 133********222 李四 14444444444**************************************************编程思路:⼀、定义⼀个学⽣管理类,内有增、删、改、查4个⽅法。
java毕业设计学生信息管理系统以下是一个基于 Java 的学生信息管理系统的毕业设计示例,你可以根据自己的需求进行修改和扩展。
**一、项目简介**学生信息管理系统是一个用于管理学生信息的软件系统。
它提供了一个方便、高效的方式来记录、查询和维护学生的个人信息、课程成绩等。
**二、功能需求**1. 学生信息管理:包括学生的基本信息,如姓名、学号、专业等。
2. 课程信息管理:包括课程的名称、学分、教师等信息。
3. 成绩信息管理:包括学生的各科目成绩录入和查询。
4. 系统用户管理:包括管理员和普通用户的角色管理,以及用户的登录和权限管理。
**三、系统设计**1. 数据库设计:使用 MySQL 数据库来存储学生信息、课程信息和成绩信息等数据。
2. 界面设计:使用 Java 的 Swing 库来创建用户界面,包括登录界面、主界面和各个功能模块的界面。
3. 业务逻辑设计:使用 Java 的面向对象编程思想来设计系统的业务逻辑,包括学生信息的增删改查、课程信息的增删改查、成绩信息的增删改查等。
**四、技术实现**1. 数据库连接:使用 JDBC 技术来连接 MySQL 数据库,并执行 SQL 语句来操作数据库。
2. 用户界面:使用 Swing 库来创建用户界面,包括窗口、按钮、文本框、列表框等组件。
3. 业务逻辑:使用 Java 的面向对象编程思想来实现系统的业务逻辑,包括学生、课程、成绩等对象的操作。
**五、系统测试**1. 单元测试:对系统的各个模块进行单元测试,确保每个模块的功能正常。
2. 集成测试:对系统的各个模块进行集成测试,确保整个系统的功能正常。
3. 系统测试:对整个系统进行测试,确保系统在不同场景下的稳定性和可靠性。
**六、总结与展望**本系统实现了学生信息管理的基本功能,包括学生信息的增删改查、课程信息的增删改查、成绩信息的增删改查等。
通过本系统的开发,提高了对 Java 编程和数据库的理解和掌握能力。
首先系统从登陆界面经输入正确的用户名与密码后即可登录到主界面。
主界面可实现的功能如下:1.资料信息录入:点击主界面的学生信息录入菜单项下的资料录入可实现此项功能.录入学生资料信息时必须输入所有要求填写的信息才可以将信息录入到数据库,否则会出现错误提醒.2.成绩信息录入:点击主界面的学生信息录入菜单项下的成绩录入可实现此项功能。
录入学生信息时必须输入所有要求填写的成绩信息才可以将信息录入到数据库,否则会出现错误提醒。
3.学生个人资料信息查询:点击主界面的学生信息查询,然后点资料查询,再点个人资料查询可实现此项功能.在出现的界面输入需要查询的学生的学号即可出现需要查询的学生资料信息。
4.所有资料信息查询:点击主界面的学生信息查询,然后点资料查询,再点所有资料查询可实现此项功能。
在出现的界面点击确定按钮即可出现所有存在数据库的学生资料信息。
5.学生个人成绩查询:点击主界面的学生信息查询,然后点成绩查询,再点个人成绩查询可实现此项功能。
在出现的界面输入需要查询的学生的学号即可出现需要查询的学生的成绩信息。
6.所有成绩查询:点击主界面的学生信息查询,然后顶尖级成绩查询,再点所有成绩查询即可实现此项功能。
在出现的界面点击确定按钮即可出现所有存在数据库的学生成绩信息。
7.资料删除:点击主界面的学生信息删除菜单项下的资料删除即可实现此项功能。
在出现的界面输入需要删除的学生的学号即可在数据库中实现该学生资料信息的删除。
8.成绩删除:点击主界面的学生信息删除菜单项下的成绩删除即可实现此项功能。
在出现的界面输入要删除成绩的学生的学号即可在数据库中实现该学生成绩信息的删除。
9.资料更改:点击主界面的学生信息更改菜单项下的资料更改即可实现此项功能。
在出现的界面输入要更改的学生的学号及更改后的资料信息(各项信息都必须输入否则会出现错误提醒)即可实现在数据库中更改该学生的资料信息。
前提是该生的资料必须原先就存在于数据库中。
10.成绩更改:点击主界面的学生信息更改菜单项下的成绩更改即可实现此项功能。
学生信息管理系统设计1、系统简介本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。
管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。
学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。
2、功能设计2.1 需求分析本系统需要实现的功能:(1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。
(2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。
2.2 总体设计学生信息管理系统主要包括管理员和学生两大模块。
管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。
用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。
系统总体结构如图所示。
总体结构图2.3 模块详细设计1、学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
学生信息管理模块结构图2、课程信息管理模块课程信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
课程信息管理模块结构图3、选课信息管理模块选课信息管理模块包括查询、显示全部等。
具体的结构图如图所示。
选课信息管理模块结构图4、成绩信息管理模块成绩信息管理模块包括修改成绩、查询、显示全部等。
具体的结构图如图所示。
成绩信息管理模块结构图5、用户信息管理模块用户信息管理模块包括修改、查询、显示全部等。
具体的结构图如图所示。
用户信息管理模块结构图3、数据库设计在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。
字段名称数据类型描述sno char (10) 学号,关键字sn char (20) 姓名sa int 年龄ss char (10) 性别sd char (10) 院系字段名称数据类型描述cno char (10) 课程号,关键字cn char (30) 课程名pcno char (10) 先行课程号字段名称数据类型描述sno char (10) 学号,关键字cno char (10) 课程号,关键字g int 成绩unpw(用户信息表)字段名称数据类型描述un char (10) 用户名,关键字pw char (10) 密码qx int 角色4、界面库设计1、学生信息管理系统的登录学生信息管理系统可由管理员和学生两种身份的人使用。
设计数据库:CREATE DATABASE 学生成绩管理系统(1)教师信息表创建:create table 教师信息表(教师ID varchar(8) primary key ,教师姓名 varchar(8) not null unique, 登录密码 varchar(8) not null,)(2)学籍信息表创建:create table 学籍信息表(学号 varchar(15) primary key,姓名 varchar(8) not null ,年龄 varchar(10),出生日期 varchar(10),性别 varchar(4) ,班级 varchar(8) not null ,专业 varchar(5) ,民族 varchar(10),登录密码 varchar(6) not null)(3)成绩信息表创建:create table 成绩信息表(学号 varchar(15),计算机网络 varchar(8),计算机专业英语 smallint,计算机信息技术基础 smallint,Java程序设计 smallint ,数据库应用实训教程 smallint ,高等数学 smallint ,Xml smallint ,)概要结构分析:1.登录界面和主界面import javax.swing.*;import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; import java.sql.*;class myConnection{ResultSet re ; public myConnection(){}public ResultSet getResult(String sql){ try {Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection ("jdbc:odbc:学生成绩管理系统","ww","123"); Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.C ONCUR_UPDATABLE ); ResultSet re=stmt.executeQuery(sql); return re;}catch (Exception e){System.out .println("getResult------"+e.toString());return null ;}}学生成绩管理系统登录界面教师登录学生登录添加学生信息 添加学生成绩 修改学生信息 删除学生信息 查看学生信息 查看学生成绩 查看学生信息 查看学生成绩 添加学生信息public boolean executeSql(String sql){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt=conn.createStatement();stmt.executeUpdate(sql);mit();return true;}catch(Exception e){System.out.println("executeSql----"+e.toString());return false;}}}class stuMainFrame extends JFrame implements ActionListener {JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("信息");JMenu Score = new JMenu("查询");JMenuItem Item1 = new JMenuItem("添加学生信息");JMenuItem mName=new JMenuItem("学生成绩查询");JMenuItem mScore=new JMenuItem("按成绩查询");JMenuItem mNam1=new JMenuItem("查询学生信息");JLabel label = new JLabel();public stuMainFrame(){ImageIcon icon = newImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());this.setJMenuBar(jmb);jmb.add(Message);jmb.add(Score);Message.add(Item1);Score.add(mNam1);Score.add(mName);Score.add(mScore);Item1.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mNam1.addActionListener(this); }public void actionPerformed(ActionEvent e){if(e.getSource()==Item1){ new addForm().setVisible(true);}else if(e.getSource()==mName){ dispose();new Score1().setVisible(true);}else if(e.getSource()==mScore){new scoreQueryForm().setVisible(true);}else if(e.getSource()==mNam1){dispose();new Serch1().setVisible(true);}}}class mainFrame extends JFrame implements ActionListener{ J Label label = new JLabel();J MenuBar mBar= new JMenuBar();J Panel p=new JPanel();p rivate JMenu mSystem,mOperate,mQuery,mHelp,myMenuUser;p rivate JMenuItemmFile,mNew,mOpen,mExit,mAdd,mDel,mModify,mName,miShow,mScore,mAbout,m iUser,mAddSc;p ublic mainFrame(){this.setJMenuBar(mBar);I mageIcon icon = new ImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());myMenuUser=new JMenu("用户");miUser=new JMenuItem("编辑用户");myMenuUser.add(miUser);mSystem=new JMenu("系统");mOperate=new JMenu("数据操作");mQuery=new JMenu("查询");mHelp=new JMenu("帮助");mBar.add(mSystem);mBar.add(mOperate);mBar.add(mQuery);mBar.add(mHelp);mBar.add(myMenuUser);mFile=new JMenuItem("文件");mNew=new JMenuItem("新建");mOpen=new JMenuItem("打开");mExit=new JMenuItem("退出");mSystem.add(mFile);mSystem.add(mNew);mSystem.add(mOpen);mSystem.addSeparator();mSystem.add(mExit);mAdd=new JMenuItem("添加基本信息");mAddSc=new JMenuItem("添加成绩信息");mDel=new JMenuItem("删除");mModify=new JMenuItem("修改");mOperate.add(mAdd);mOperate.add(mAddSc);mOperate.add(mDel);mOperate.add(mModify);mName=new JMenuItem("查询学生信息");mScore=new JMenuItem("查询学生成绩");miShow=new JMenuItem("全部显示");mQuery.add(mName);mQuery.add(mScore);mQuery.addSeparator();mQuery.add(miShow);mAbout=new JMenuItem("软件信息");mHelp.add(mAbout);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mAbout.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);mAddSc.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==mExit){dispose();new CJ().setVisible(true);}else if(e.getSource()==mAbout){JOptionPane.showMessageDialog(this,"学生成绩管理系统\n\n电信学院\n\n2012年3月","软件信息",RMATION_MESSAGE);} else if(e.getSource()==mAdd){dispose();new addForm().setVisible(true);}else if(e.getSource()==mAddSc){dispose();new addScore().setVisible(true);}else if(e.getSource()==mDel){dispose();new deleteForm().setVisible(true);}else if(e.getSource()==mName){dispose();new Serch().setVisible(true);}else if(e.getSource()==mScore){dispose();new Score().setVisible(true);}else if(e.getSource()==mModify){new modifyForm().setVisible(true);} else if(e.getSource()==miUser){new userFrame().setVisible(true);}else if(e.getSource()==miShow){new freshTable().setVisible(true); }}} class CJ extends JFrame implements ActionListener{ JLabel t1=new JLabel("ID号:");JLabel t3=new JLabel("密码:");JLabel label = new JLabel();public String zh=null;JTextField t2=new JTextField(null,15);JTextField t4=new JPasswordField(null,15);JRadioButton b=new JRadioButton("教师");JRadioButton b1=new JRadioButton("学生");JButton jB1=new JButton("登录");JButton jB2=new JButton("取消");public CJ (){super("学生生成绩管理系统");setLayout(null);jB1.setBounds(110,170,60,20);jB1.setBackground(Color.red);add(jB1);jB2.setBounds(210,170,60,20);jB2.setBackground(Color.red);add(jB2);t1.setBounds(90,50,80,35);add(t1);t2.setBounds(120,50,150,35);add(t2);t3.setBounds(90,100,80,35);add(t3);t4.setBounds(120,100,150,35);add(t4);b.setBounds(200,20,70,30);b1.setBounds(120,20,70,30);ButtonGroup bg=new ButtonGroup();b.setSelected(false);b1.setSelected(true);b1.setSelected(false);add(b);bg.add(b);add(b1); bg.add(b1);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);ImageIcon icon = new ImageIcon("src/images/a.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight()); add(label);setSize(label.getWidth(),label.getHeight());setResizable(false);setVisible(true);setLocation(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jB1.addActionListener(this);jB2.addActionListener(this);}public void actionPerformed(ActionEvent e) {if (e.getSource()==jB2){System.exit(0);}else if (e.getSource()==jB1){String username , password;username = t2.getText();password = t4.getText();if(b.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", RMATION_MESSAGE);}else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", RMATION_MESSAGE);}else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 教师信息表 where 教师ID='"+username.toString()+"' and 登录密码 = '"+password.toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";mainFrame mf=new mainFrame();mf.setLayout(null);mf.setVisible(true);mf.setLocation(300,300);mf.setResizable(false);mf.setTitle("学生成绩管理系统:教师登录界面");mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});JOptionPane.showMessageDialog( null,rs.getString("教师姓名")+"老师!您好!欢迎登录学生成绩管理系统!" ) ; }}else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", RMATION_MESSAGE);}}catch(Exception er){System.out.println(er.toString());}}}if(b1.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", RMATION_MESSAGE);}else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", RMATION_MESSAGE);}else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 学籍信息表 where 学号='"+t2.getText().toString()+"' and 登录密码 ='"+t4.getText().toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";stuMainFrame smf =new stuMainFrame();s mf.setSize(500,400);smf.setVisible(true);smf.setResizable(false);smf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);s mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});JOptionPane.showMessageDialog( null,rs.getString("学生姓名")+"同学!您好!欢迎登录学生成绩管理系统!" ) ; } }else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", RMATION_MESSAGE);}}catch(Exception er){System.out.println(er.toString());}} }}}public static void main(String[] args) {try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}CJ frame=new CJ();new mainFrame();stuMainFrame stu = new stuMainFrame();}}2.添加学生基本信息import javax.swing.*;import javax.swing.table.DefaultTableModel; import java.awt.*;import java.awt.event.*;import java.sql.*;public class addForm extends JFrame implements ActionListener { JLabel label1 = new JLabel("添加基本信息",JLabel.CENTER);JLabel labxuehao=new JLabel("学号:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labName=new JLabel("姓名:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel labclass=new JLabel("班级:",JLabel.CENTER);JLabel labzy=new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);JLabel labsex = new JLabel("性别:",JLabel.CENTER);JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtXueHao=new JTextField(20);JTextField txtYear=new JTextField(20);JTextField txtClass=new JTextField(20);JTextField txtZY=new JTextField(20);JTextField txtMZ=new JTextField(20);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JButton btnAdd=new JButton("添加");JButton btnCancel=new JButton("返回");JButton btnReset = new JButton("重置");JPanel jpl=new JPanel(); //创建面板对象Connection con;Statement sql;ResultSet rs;addForm(){ super("添加学生信息");this.setResizable(false);this.setSize(550,450);this.setVisible(true);this.setLocation(300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);btnAdd.addActionListener(this);btnReset.addActionListener(this);btnCancel.addActionListener(this);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);label1.setBounds(100,20,300,20);jpl.add(label1);labxuehao.setBounds(100,50,70,20);jpl.add(labxuehao);txtXueHao.setBounds(190,50,140,20);jpl.add(txtXueHao);labName.setBounds(100,90,70,20);jpl.add(labName);txtName.setBounds(190,90,140,20);jpl.add(txtName);labsex.setBounds(110,130,60,20);jpl.add(labsex);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);labyear.setBounds(100,180,70,20);jpl.add(labyear);txtYear.setBounds(190,180,140,20);jpl.add(txtYear);labDate.setBounds(100,210,70,20);jpl.add(labDate);txtDate.setBounds(190,210,140,20);jpl.add(txtDate);labmz.setBounds(100,240,70,20);jpl.add(labmz);txtMZ.setBounds(190,240,140,20);jpl.add(txtMZ);labclass.setBounds(100,270,70,20);jpl.add(labclass);txtClass.setBounds(190,270,140,20);jpl.add(txtClass);labzy.setBounds(100,300,70,20);jpl.add(labzy);txtZY.setBounds(190,300,140,20);jpl.add(txtZY);btnReset.setBounds(80,350,90,20);btnAdd.setBounds(200,350,90,20);btnCancel.setBounds(320,350,90,20);jpl.add(btnReset);jpl.add(btnAdd);jpl.add(btnCancel);}public void actionPerformed(ActionEvent e){ if(e.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);}if(e.getSource()==btnAdd){if (txtXueHao.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入学号", "温馨提示", RMATION_MESSAGE);}else if (txtName.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入姓名", "温馨提示", RMATION_MESSAGE);}else if (txtYear.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入年龄", "温馨提示", RMATION_MESSAGE);}else if (txtDate.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "出生日期", "温馨提示", RMATION_MESSAGE);}else if (txtZY.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入专业", "温馨提示", RMATION_MESSAGE);}else if (txtMZ.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入民族", "温馨提示", RMATION_MESSAGE);}else if (txtClass.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入班级", "温馨提示", RMATION_MESSAGE);}else{String sex;if(man.isSelected()){ sex="男";}else{ sex="女"; }try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(null,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 学籍信息表(学号 ,登录密码,姓名,年龄 , 出生日期 , 性别 , 班级,专业,民族)values('"+txtXueHao.getText()+"','"+00000+"','"+txtName.getText()+ "','"+txtYear.getText()+"','"+txtDate.getText()+"','"+sex+"','"+txtCl ass.getText()+"','"+txtZY.getText()+"','"+txtMZ.getText()+"')");if(a==1){JOptionPane.showMessageDialog(null,"已成功添加","温馨提示",RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}} else{ txtClass.setText("");txtZY.setText("");txtMZ.setText("");txtName.setText("");txtDate.setText("");txtXueHao.setText("");txtYear.setText("");txtXueHao.requestFocus();}}public static void main(String[] args){addForm amg = new addForm();}}3.添加学生成绩import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class extends JFrame implements ActionListener{static addScore ss;JLabel[] label = {new JLabel("学号:") , new JLabel("计算机网络:") , new JLabel("Linux操作系统:") , new JLabel("计算机专业英语:") , new JLabel("计算机信息技术基础:") , new JLabel("Java程序设计:") , new JLabel("数据库应用实训教程:") , new JLabel("高等数学:") , new JLabel("XML:")};JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };JButton add = new JButton("添加");JButton reset = new JButton("重置");JButton Cancel=new JButton("返回");JPanel jpl = new JPanel();JLabel title = new JLabel("添加学生成绩" , JLabel.CENTER);Font f = new Font("黑体" , Font.BOLD , 16 );int s=100;public addScore(){super("添加学生信息");this.setResizable(false);this.setSize(500,600);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);this.add(jpl);Cancel.addActionListener(this);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i <label.length ; i++){label[i].setBounds(100,s,140,20);jpl.add(label[i]);txt[i].setBounds(260,s,140,20);jpl.add(txt[i]);s=s+40;}add.setBounds(100,s,80,20);reset.setBounds(200,s,80,20);Cancel.setBounds(300,s,80,20);jpl.add(add);jpl.add(reset);jpl.add(Cancel);}public void actionPerformed(ActionEvent e){if(e.getSource()==Cancel){dispose();new mainFrame().setVisible(true);}else if(e.getSource()==add){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 成绩信息表(学号 , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程 , 高等数学 ,Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].ge tText()+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].ge tText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].ge tText()+"')");if(a==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage()); }} else{for(int i = 0 ; i<txt.length ; i++){txt[i].setText("");txt[0].requestFocus(); }}}public static void main(String[] args){addScore as = new addScore();}}4.修改学生信息:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class modifyForm extends JFrame implements ActionListener {JPanel jpl = new JPanel();JLabel SCH = new JLabel("修改学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel("姓名:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnModify = new JButton("修改");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;public modifyForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnModify.addActionListener(this);btnCancel.addActionListener(this);SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20);btnModify.setBounds(230,100,90,20);btnCancel.setBounds(340,100,90,20);jpl.add(btnQuery);jpl.add(btnModify);jpl.add(btnCancel);label2.setBounds(100,150,70,20);jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20);jpl.add(labyear);tyear.setBounds(190,180,140,20);jpl.add(tyear);labDate.setBounds(100,210,70,20);jpl.add(labDate);tDate.setBounds(190,210,140,20);jpl.add(tDate);label5.setBounds(100,250,70,20);jpl.add(label5);man.setBounds(205,250,60,20);women.setBounds(285,250,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,290,70,20);jpl.add(label3);clas.setBounds(190,290,140,20);jpl.add(clas);label4.setBounds(100,320,70,20);jpl.add(label4);scl.setBounds(190,320,140,20);jpl.add(scl);labmz.setBounds(100,350,70,20);jpl.add(labmz);tmz.setBounds(190,350,140,20);jpl.add(tmz);}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);} else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch(ClassNotFoundException e){ }try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();rs=sql.executeQuery("select * from 学籍信息表 where 学号='"+num.getText()+"'");if(rs.next()){num.setText(rs.getString("学号"));nam.setText(rs.getString("姓名"));tyear.setText(rs.getString("年龄").toString());tDate.setText(rs.getString("出生日期"));if(rs.getString("性别").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs.getString("班级"));scl.setText(rs.getString("专业"));tmz.setText(rs.getString("民族"));btnModify.setEnabled(true);nam.setEditable(true);tyear.setEditable(true);tDate.setEditable(true);clas.setEditable(true);scl.setEditable(true);tmz.setEditable(true);}else{JOptionPane.showMessageDialog(null, "不存在该记录!", "温馨提示", RMATION_MESSAGE);btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false);}}catch(SQLException e){ } }else if(ae.getSource()==btnModify){ try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();re=sql.executeUpdate("Update 学籍信息表 set 姓名='"+nam.getText()+"',年龄='"+tyear.getText()+"',出生日期='"+tDate.getText()+"',班级='"+clas.getText()+"',专业='"+scl.getText()+"',民族='"+tmz.getText()+"' where 学号='"+num.getText()+"'");if(re==1){JOptionPane.showMessageDialog(null,"记录修改完毕!","温馨提示",RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"记录修改失败!","温馨提示",RMATION_MESSAGE);}sql.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}else{btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false); } }public static void main(String[] args) {new modifyForm(); }}5.删除学生信息import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class deleteForm extends JFrame implements ActionListener { JPanel jpl = new JPanel();JLabel SCH = new JLabel("删除学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel("姓名:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnDelete = new JButton("删除");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;deleteForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnDelete.addActionListener(this);btnCancel.addActionListener(this);SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20);btnDelete.setBounds(230,100,90,20);btnCancel.setBounds(340,100,90,20);jpl.add(btnQuery);jpl.add(btnDelete);jpl.add(btnCancel);label2.setBounds(100,150,70,20);jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20);。