定制app开发Java课程设计之 学生成绩管理系统

实现内容:

更多Java定制app开发学习资源尽在B站账号:清风学Java
https://space.bilibili.com/591988762
只做Java分享,定制app开发欢迎个位小伙伴前来观看,定制app开发更多优质学习资源持续更新中…

 定制app开发设计开发一个学生成绩管理系统
  • 1

(1)定制app开发根据实现的功能,定制app开发划分出合理的对象类,定制app开发明确各个对象类之间的关系。为
定制app开发各个对象类设计正确的域和方法,定制app开发为每个方法设计合理的方法体。同时,定制app开发为对象类及内部的域和定制app开发方法运用正确的修饰符。
功能要求:
(1)录入成绩 (2) 查询成绩
(3) 成绩排序 (4) 修改成绩
(5) 删除成绩 (6) 定制app开发将数据保存在数据库表中

定制app开发该课程设计涉及MySQL数据库,建表操作,java操作(JDBC定制app开发数据库操作)以及JavaSwing定制app开发与事件处理。

源程序(仅做参考):

//**学生类**public class Student {	String id;  // 学号	String name; // 姓名	float math;  //数学成绩	float physics;   //物理成绩	float english;  //英语成绩	public Student() {}	public Student(String id, String name, float math, float physics, float english) {  //定制app开发定义带参的构造函数		super();  //定制app开发调用父类的无参的构造函数		this.id = id;		this.name = name;		this.math = math;		this.physics = physics;		this.english = english;	}		//定制app开发定义一个方法设置个变量的值	public void set(String id,String name,float math,float physics,float english) {		this.id = id;		this.name = name;		this.math = math;		this.physics = physics;		this.english = english;	}	public String getId() {  //定制app开发定义一个方法获取学号		return id;	}	public String getName() {  //定制app开发定义一个方法获取姓名		return name;	}	public float getMath() { //定制app开发定义一个方法获取数学成绩		return math;	}	public float getPhysics() {  //定制app开发定义一个方法获取物理成绩		return physics;	}	public float getEnglish() {  //定制app开发定义一个方法获取英语成绩		return english;	}		//重写toString方法 定制app开发使其输出指定的格式	@Override	public String toString() {		// TODO Auto-generated method stub		return "[ 学号: "+id+"  姓名: "+name+"  数学成绩: "+math+"   物理成绩: "+physics+"  英语成绩: "+english+"]";	}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
//测试类import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JTabbedPane;class mySwing {	JFrame frame;  //定制app开发定义一个窗口	JTabbedPane tabbedPane;  //定制app开发定义一个选项卡窗格		public void init() {  //定制app开发定义一个方法来对选项定制app开发卡窗格进行操作		tabbedPane = new JTabbedPane();  //定制app开发实例化选项卡窗格		tabbedPane.add("录入成绩",new addPanel().panel);  //定制app开发定制app开发定制app开发定制app开发定制app开发向选项卡窗格中添加”录入成绩“窗格		tabbedPane.add("查询成绩",new checkPanel().panel2); //向选项卡窗格中添加”查询成绩“窗格		tabbedPane.add("排序成绩",new sortPanel().panel3);  //向选项卡窗格中添加”排序成绩“窗格		tabbedPane.add("修改成绩",new modifyPanel().panel4);  //向选项卡窗格中添加”修改成绩“窗格		tabbedPane.add("删除记录",new deletePanel().panel5);  //向选项卡窗格中添加”删除记录“窗格	}		//定制app开发先创建一个窗口	public mySwing() {  //定制app开发创建一个无参的构造方法由于初始化窗体		frame = new JFrame("XXX学校学生成绩管理系统");  //实例化窗口		init();  //调用init方法		frame.add(tabbedPane,BorderLayout.NORTH);  //向窗口中添加选项卡窗格		frame.setVisible(true);  //设置窗口可见		frame.setSize(500, 580);  //设置窗口的大小		frame.setLocationRelativeTo(null);  //设置窗口的位置为桌面中心		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //设置单击窗口的关闭按钮后程序自动停止运行	}}public class myText {	public static void main(String[] args) {		new mySwing();  //通过匿名对象调用	}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
//添加数据实现import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class addPanel{	MyDBUtil dbUtil = new MyDBUtil();  //创建自己写的数据库对象	JPanel panel;  //定义一个面板引用	//录入成绩 窗口组件设置	JPanel p1,p2,p3,p4;  //定义4个面板引用	Box boxH1,boxH2;   //创建两个行式盒。	Box box1,box2,box3,box4;  //创建四个列式盒	JButton button;  //定义一个按钮	JTextField textField1,textField2,textField3,textField4,textField5;  //定义五个单行文本框	JTextArea area;  //定义一个多行文本框			//录入成绩窗口	public addPanel() {  //创建无参的构造函数		boxH1 = Box.createHorizontalBox();  //实例化行式盒 boxH1		boxH2 = Box.createHorizontalBox();  //实例化行式盒 boxH2				box1 = Box.createVerticalBox(); //实例化列式盒 box1		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("学号")); //向列式盒中添加  "学号" 标签		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("数学成绩")); //向列式盒中添加  "数学成绩" 标签		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("英语成绩"));  //向列式盒中添加  "英语成绩" 标签		boxH1.add(box1); //向行式盒中添加列式盒box1		boxH1.add(Box.createHorizontalStrut(55));  //在行式盒中设置一个不可见的长为55的水平Strut对象		box2 = Box.createVerticalBox();//实例化列式盒 box2		textField1 = new JTextField(12); //实例化单行文本框		textField2 = new JTextField(12);//实例化单行文本框		textField3 = new JTextField(12);//实例化单行文本框		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box2.add(textField1);  //向列式盒中添加单行文本框		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box2.add(textField2); //向列式盒中添加单行文本框		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box2.add(textField3); //向列式盒中添加单行文本框		boxH1.add(box2); //向行式盒中添加列式盒box2		box3 = Box.createVerticalBox(); //实例化列式盒 box3		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box3.add(new JLabel("姓名")); //向列式盒中添加  "姓名" 标签		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box3.add(new JLabel("物理成绩")); //向列式盒中添加 "物理成绩" 标签		boxH2.add(box3); //向行式盒中添加列式盒box3		boxH2.add(Box.createHorizontalStrut(55));  //在行式盒中设置一个不可见的长为55的水平Strut对象				box4 = Box.createVerticalBox();//实例化列式盒 box3		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		textField4 = new JTextField(12); //实例化单行文本框		textField5 = new JTextField(12); //实例化单行文本框		box4.add(textField4);//向列式盒中添加单行文本框		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box4.add(textField5);//向列式盒中添加单行文本框		boxH2.add(box4); //向行式盒中添加列式盒box4				button =new JButton("录入");  //实例化按钮对象		button.addActionListener(new ActionListener() {  //事件处理 , 给按钮添加监视器						@Override			public void actionPerformed(ActionEvent e) {				//实例化Student类对象并传值				try {					Student student = new Student(textField1.getText(), textField4.getText(), Float.parseFloat(textField2.getText()), Float.parseFloat(textField5.getText()), Float.parseFloat(textField3.getText()));					dbUtil.add(student); //调用MyDBUtil类中的add方法,并把student作为值传入					area.setText("你输入的信息添加成功!!"+"\r\"+"你可以通过查询成绩来查看相关信息!!"); //添加成功后设置area中的信息提示					//执行上面的方法后将文本框中的值清除					textField1.setText("");					textField2.setText("");					textField3.setText("");					textField4.setText("");					textField5.setText("");				} catch (NumberFormatException e1) {					// TODO Auto-generated catch block					area.setText("温馨提示!!"+"\r\"+"添加成绩失败,请重新进行操作!!");//添加失败后设置area中的信息提示					textField1.setText("");					textField2.setText("");					textField3.setText("");					textField4.setText("");					textField5.setText("");				}				 			}		});		p3 = new JPanel(); //实例化面板对象		p3.setLayout(new FlowLayout(FlowLayout.CENTER,5,100));  //设置p3面板的布局为FlowLayout布局,并设置水平和垂直间距		p3.add(button);   //将按钮添加到p3面板中				p1 = new JPanel();  //实例化面板对象		p1.add(boxH1); //向p1面板里添加boxH1		p2 = new JPanel();  //实例化面板对象		p2.add(boxH2);  //向p2面板中添加boxH2对象				p4 = new JPanel(); //实例化面板对象		area = new JTextArea("请在下面输入你想存入的相关的信息!!!",3,30); //实例化多行文本框并做初值的设定		p4.add(area);  //向p4面板中添加area				panel = new JPanel();  //实例化面板对象		panel.setLayout(new BorderLayout()); //设置panel面板的布局为BorderLayout布局		panel.add(p1,BorderLayout.WEST);  //向panel面板的西边添加p1面板		panel.add(p2); //向panel面板中添加p2面板		panel.add(p3,BorderLayout.SOUTH); //向panel面板的南面添加p3面板		panel.add(p4,BorderLayout.NORTH); //向panel面板的北面添加p4面板					}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
//查询数据实现import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;public class checkPanel implements ActionListener{	JTable table; //定义一个表格引用	Object name[]={"学号","姓名","数学成绩","物理成绩","英语成绩"}; //定义一个姓名数组	Object a[][];  //定义一个a数组	ResultSet rs=null;	MyDBUtil dbUtil = new MyDBUtil(); //创建一个MyDBUtil对象	LinkedList <Student>list=null;  //定义一个LinkedList集合对象		JPanel panel2;  //定义一个面板	JButton button1;  //定义一个按钮	//查询成绩窗口设置		public void setList(){  //定义一个方法获取数据并将数据存入集合中						rs= dbUtil.checkAll(); //调用MyDBUtil类中的checkAll方法。			list=new LinkedList<Student>(); //实例化集合对象			if(rs!=null){				try {					while(rs.next()){  //通过循环将数据存入集合中						list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));						}				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	public void setTable() {  //定义一个方法设置表格		setList();  //调用setlist方法		a=new Object[list.size()][name.length];  //实例化数组a,并设置其行和列的大小		for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中			Student s=list.get(i); //拿到集合的第i个位置的元素并传给Student对象			//通过Student对象的get方法获取相应的值			a[i][0]=s.getId();			a[i][1]=s.getName();			a[i][2]=s.getMath();			a[i][3]=s.getPhysics();			a[i][4]=s.getEnglish();		}	    panel2.removeAll();   //使其面板刷新	    	    button1 = new JButton("刷新");  //实例化按钮对象	    button1.addActionListener(this);  //给按钮添加监视器	    table=new JTable(a, name); //实例化表格	    	    panel2.add(button1,BorderLayout.SOUTH); //向面板中添加按钮		panel2.add(new JScrollPane(table),BorderLayout.NORTH);  //向面板中添加表格	}	public checkPanel() {  //定义一个无参的构造函数				panel2 = new JPanel(); //实例化面板对象		panel2.setLayout(new BorderLayout()); //设置面板的布局为BorderLayout()布局。				setTable();  //调用setTable方法	}	@Override	public void actionPerformed(ActionEvent e) {  //添加事件		setTable();  //调用上面的setTable方法			}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
// 排序实现import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextArea;import javax.swing.JTextField;public class sortPanel implements ActionListener {	JTable table;  //定义一个表格引用	Object name[]={"学号","姓名","数学成绩","物理成绩","英语成绩"};  //定义一个姓名数组	Object aa[][]; //定义一个aa数组	ResultSet rs=null;	MyDBUtil dbUtil = new MyDBUtil();  //创建一个MyDBUtil对象	LinkedList <Student>list=null;  //定义一个LinkedList集合对象		JPanel panel3,p1,p2;  //定义三个面板	JTextField field;  //定义一个单行文本框	JTextArea area;  //定义一个多行文本框	JButton b1,b2; //定义两个按钮		public void setList(){ //定义一个方法获取数据并将数据存入集合中				rs= dbUtil.checkAll();  //调用MyDBUtil类中的checkAll方法。		list=new LinkedList<Student>(); //实例化集合对象		if(rs!=null){			try {				while(rs.next()){  //通过循环向集合中添加元素					list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));					}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}	}		public void setList1(String grade,String sort){ //定义一个方法获取数据并将数据存入集合中 , 并设定指定的参数				rs= dbUtil.checkAll(grade,sort);  //调用MyDBUtil中的带参数的checkAll方法		list=new LinkedList<Student>();  //实例化集合对象		if(rs!=null){			try {				while(rs.next()){   //通过循环向集合中添加元素					list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));					}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}	}		public void setTable() { //定义一个方法设置表格		setList();   //初始情况下先调用setList方法		aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小		for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中			Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象			//通过Student对象的get方法获取相应的值			aa[i][0]=s.getId();			aa[i][1]=s.getName();			aa[i][2]=s.getMath();			aa[i][3]=s.getPhysics();			aa[i][4]=s.getEnglish();		}	    panel3.removeAll();  //使其面板刷新	    	    b1 = new JButton("升序");   //实例化按钮对象	    b1.addActionListener(this);  //给按钮添加监视器	    b2 = new JButton("降序");  //实例化按钮对象	    b2.addActionListener(this);  //给按钮添加监视器	   	    area = new JTextArea("请按表格输入你想排序的信息。如: 数学成绩!!",2,15); //实例化多行文本框	    field = new JTextField(16);   //实例化单行文本框	    p1 = new JPanel();  //实例化面板对象	    p1.add(field);  //向面板中添加文本框	    p1.add(b1);  //向面板中添加按钮	    p1.add(b2);  //向面板中添加按钮	    	    p2 = new JPanel();  //实例化面板对象	    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局	    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板	    p2.add(area);  //向p2面板中添加area	    	    table=new JTable(aa, name);  //实例化表格	    panel3.add(p2);  //向panel3面板中添加p1面板	    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格	}		public sortPanel() {						panel3 = new JPanel();   //实例化面板对象			panel3.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局						setTable();  //调用setTable方法。		}		@Override		public void actionPerformed(ActionEvent e) {   //添加事件			//通过条件语句判断输入的信息是否符合要求			if("学号".equals(field.getText())||"姓名".equals(field.getText())||"数学成绩".equals(field.getText())||"物理成绩".equals(field.getText())||"英语成绩".equals(field.getText())) {   				if ("升序".equals(e.getActionCommand())) {  //判断字符是否相等					setList1(field.getText(),"asc");   //条件成立的情况下设置参					aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小					for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中						Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象						//通过Student对象的get方法获取相应的值						aa[i][0]=s.getId();						aa[i][1]=s.getName();						aa[i][2]=s.getMath();						aa[i][3]=s.getPhysics();						aa[i][4]=s.getEnglish();					}					panel3.removeAll();  //使其面板刷新										b1 = new JButton("升序");  //实例化按钮对象					b1.addActionListener(this); //给按钮添加监视器					b2 = new JButton("降序");  //实例化按钮对象					b2.addActionListener(this); //给按钮添加监视器										area = new JTextArea(field.getText()+"的升序如表格所示!!",2,15); //实例化多行文本框				    field = new JTextField(16);   //实例化单行文本框				    p1 = new JPanel();  //实例化面板对象				    p1.add(field);  //向面板中添加文本框				    p1.add(b1);  //向面板中添加按钮				    p1.add(b2);  //向面板中添加按钮				    				    p2 = new JPanel();  //实例化面板对象				    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局				    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板				    p2.add(area);  //向p2面板中添加area				    				    table=new JTable(aa, name);  //实例化表格				    panel3.add(p2);  //向panel3面板中添加p1面板				    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格								 }			 if ("降序".equals(e.getActionCommand())) {  //判断获取的字符是否相等				 setList1(field.getText(),"desc");  //条件成立的情况下设置参数					aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小					for(int i=0;i<list.size();i++){   //通过循环向数组中存入数据以放入表格中						Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象						//通过Student对象的get方法获取相应的值						aa[i][0]=s.getId();						aa[i][1]=s.getName();						aa[i][2]=s.getMath();						aa[i][3]=s.getPhysics();						aa[i][4]=s.getEnglish();					}				    panel3.removeAll();  //使其面板刷新				    				    b1 = new JButton("升序");  //实例化按钮对象				    b1.addActionListener(this); //给按钮添加监视器				    b2 = new JButton("降序");  //实例化按钮对象				    b2.addActionListener(this); //给按钮添加监视器				    				    area = new JTextArea(field.getText()+"的降序如表格所示!!",2,15); //实例化多行文本框				    field = new JTextField(16);   //实例化单行文本框				    p1 = new JPanel();  //实例化面板对象				    p1.add(field);  //向面板中添加文本框				    p1.add(b1);  //向面板中添加按钮				    p1.add(b2);  //向面板中添加按钮				    				    p2 = new JPanel();   //实例化面板对象				    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局				    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板				    p2.add(area);  //向p2面板中添加area				    				    table=new JTable(aa, name);  //实例化表格				    panel3.add(p2);  //向panel3面板中添加p1面板				    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格			 }		}else {			setList();   //初始情况下先调用setList方法			aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小			for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中				Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象				//通过Student对象的get方法获取相应的值				aa[i][0]=s.getId();				aa[i][1]=s.getName();				aa[i][2]=s.getMath();				aa[i][3]=s.getPhysics();				aa[i][4]=s.getEnglish();			}		    panel3.removeAll();  //使其面板刷新		    		    b1 = new JButton("升序");   //实例化按钮对象		    b1.addActionListener(this);  //给按钮添加监视器		    b2 = new JButton("降序");  //实例化按钮对象		    b2.addActionListener(this);  //给按钮添加监视器		   		    area = new JTextArea("温馨提示!!"+"\r\"+"你输入的信息有误,请按表格输入你想排序的信息!!",2,15); //实例化多行文本框		    field = new JTextField(16);   //实例化单行文本框		    p1 = new JPanel();  //实例化面板对象		    p1.add(field);  //向面板中添加文本框		    p1.add(b1);  //向面板中添加按钮		    p1.add(b2);  //向面板中添加按钮		     		    p2 = new JPanel();  //实例化面板对象		    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局		    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板		    p2.add(area);  //向p2面板中添加area		    		    table=new JTable(aa, name);  //实例化表格		    panel3.add(p2);  //向panel3面板中添加p1面板		    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格		}	}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
// 修改数据实现import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class modifyPanel {	MyDBUtil dbUtil = new MyDBUtil();  //创建MyDBUtil类的对象	JPanel panel4;  //创建一个面板		//修改成绩窗口组件设置	JPanel p1,p2,p3,p4;  //定义四个面板	Box boxH1,boxH2;  //定义两个行式盒	Box box1,box2,box3,box4; //定义四个列式盒	JButton button1;  //定义一个按钮	JTextField t1,t2,t3,t4,t5,t6;  //定义六个单号文本框	JTextArea area;		public modifyPanel() {  //定义一个无参的构造函数		//实例化行式盒		boxH1 = Box.createHorizontalBox();		boxH2 = Box.createHorizontalBox();				box1 = Box.createVerticalBox(); //实例化列式盒		box1.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("学号"));  //向列式盒中添加 “学号” 标签		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("数学成绩"));  //向列式盒中添加 “数学成绩” 标签		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box1.add(new JLabel("英语成绩"));  //向列式盒中添加 “英语成绩” 标签		boxH1.add(box1);  //向行式盒boxH1中添加列式盒box1		boxH1.add(Box.createHorizontalStrut(50));   //在行式盒boxH1中设置一个水平为50的不可见的Strut对象。				box2 = Box.createVerticalBox();  //实例化列式盒		box2.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		//实例化单行文本框		t1 = new JTextField(12);   		t2 = new JTextField(12);  		t3 = new JTextField(12);  		//向列式盒中添加单行文本框		box2.add(t1);		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box2.add(t2);		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box2.add(t3);		boxH1.add(box2);  //向行式盒中添加列式盒				box3 = Box.createVerticalBox(); //实例化列式盒		box3.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		box3.add(new JLabel("姓名"));  //向列式盒中添加 “姓名” 标签		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box3.add(new JLabel("物理成绩")); //向列式盒中添加 “物理成绩” 标签		boxH2.add(box3);  //向行式盒中添加列式盒		boxH2.add(Box.createHorizontalStrut(70));  //在行式盒boxH2中设置一个水平为50的不可见的Strut对象				box4 = Box.createVerticalBox(); //实例化列式盒		box4.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		//实例化单行文本框		t4 = new JTextField(12);		t5 = new JTextField(12);		//向列式盒中添加单行文本框		box4.add(t4);		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		box4.add(t5);		boxH2.add(box4);  //向行式盒中添加列式盒				p2 = new JPanel();   //实例化面板对象		p2.add(boxH1);  //向p2面板中添加行式盒boxH1		p3 = new JPanel();  //实例化面板对象		p3.add(boxH2);   //向p3面板中添加行式盒boxH2				t6 = new JTextField(10); //实例化一个单行文本框		button1 = new JButton("修改");   //实例化一个按钮对象		button1.addActionListener(new ActionListener() {  //给按钮添加监视器处理事件						@Override			public void actionPerformed(ActionEvent e) {				try {  //异常情况处理					if(t1.getText().equals(t6.getText())) {   //通过条件判断语句判断输入的信息是否符合要求						//获取到文本框中的内容传给Student类						Student student = new Student(t1.getText(), t4.getText(), Float.parseFloat(t2.getText()), Float.parseFloat(t5.getText()), Float.parseFloat(t3.getText()));    						dbUtil.modify(student);  //调用MyDBUtil类中的modify类						area.setText("成绩信息修改成功,你可以通过查询成绩来查看相关信息!!!"); //给多行文本框设值						//运行之后设置文本框的值为空						t1.setText("");						t2.setText("");						t3.setText("");						t4.setText("");						t5.setText("");						t6.setText("");					}else {						area.setText("温馨提示!!"+"\r\"+"由于两处学号信息不一致,无法进行修改.."+"\r\"+"请重新输入你想修改的信息!!"); //给多行文本框设值						//运行之后设置文本框的值为空						t1.setText("");						t2.setText("");						t3.setText("");						t4.setText("");						t5.setText("");						t6.setText("");					}				} catch (NumberFormatException e1) {  //异常情况处理					// TODO Auto-generated catch block					area.setText("温馨提示!!"+"\r\"+"输入的成绩不符合要求,修改失败,请重新进行操作!!");//修改失败后设置area中的信息提示					//运行之后设置文本框的值为空					t1.setText("");					t2.setText("");					t3.setText("");					t4.setText("");					t5.setText("");					t6.setText("");				}			}		});		p4 = new JPanel();  //实例化面板对象		p4.add(new JLabel("输入学号: "));  //向p4面板中添加标签		p4.add(t6);  //向p4面板中添加t6文本框		p4.add(button1);  //向p4面板添加按钮				area = new JTextArea("请按标签信息输入你想修改的信息!!",5,30);  //实例化多行文本框		p1 = new JPanel();  //实例化面板		p1.add(area);  //向面板中添加area				panel4 = new JPanel();  //实例化面板对象		panel4.setLayout(new BorderLayout());  //设置panel4面板的布局为BorderLayout布局		panel4.add(p2,BorderLayout.WEST); //向panel4面板中添加p2面板并放在panel4的西面。		panel4.add(p3);  //向panel4面板中添加p3面板		panel4.add(p4,BorderLayout.SOUTH); //向panel4面板中添加p4面板并放在panel4的南面。		panel4.add(p1,BorderLayout.NORTH);  //向panel4面板中添加p1面板并放在panel4的北面。			}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
// 删除数据实现import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class deletePanel {	MyDBUtil dbUtil = new MyDBUtil();   //创建MyDBUtil类的对象	JPanel panel5;  //定义一个面板对象		JPanel p1,p2,p3,p4;   //定义四个面板对象	Box boxH1,boxH2;  //定义两个行式盒	Box boxV1,boxV2,boxV3,boxV4;  //定义四个列式盒	JButton button1;  //定义一个按钮	JTextField te1,te2,te3,te4,te5,te6;  //定义六个单行文本框	JTextArea area;  //定义一个多行文本框		public deletePanel() {  //定义一个无参的构造函数		//实例化行式盒		boxH1 = Box.createHorizontalBox();		boxH2 = Box.createHorizontalBox();				boxV1 = Box.createVerticalBox(); //实例化列式盒		boxV1.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		boxV1.add(new JLabel("学号"));  //向列式盒中添加 “学号” 标签		boxV1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV1.add(new JLabel("数学成绩"));  //向列式盒中添加 “数学成绩” 标签		boxV1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV1.add(new JLabel("英语成绩"));  //向列式盒中添加 “英语成绩” 标签		boxH1.add(boxV1);  //向行式盒boxH1中添加列式盒boxV1		boxH1.add(Box.createHorizontalStrut(50));  //在行式盒boxH1中设置一个水平为50的不可见的Strut对象。				boxV2 = Box.createVerticalBox(); //实例化列式盒		boxV2.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		//实例化单行文本框		te1 = new JTextField(12);		te2 = new JTextField(12);		te3 = new JTextField(12);		//向列式盒中添加单行文本框		boxV2.add(te1);		boxV2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV2.add(te2);		boxV2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV2.add(te3);		boxH1.add(boxV2); //向行式盒中添加列式盒				boxV3 = Box.createVerticalBox();  //实例化列式盒		boxV3.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		boxV3.add(new JLabel("姓名"));  //向列式盒中添加 “姓名” 标签		boxV3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV3.add(new JLabel("物理成绩"));  //向列式盒中添加 “物理成绩” 标签		boxH2.add(boxV3);  //向行式盒中添加列式盒		boxH2.add(Box.createHorizontalStrut(70));  //在行式盒boxH2中设置一个水平为50的不可见的Strut对象				boxV4 = Box.createVerticalBox();  //实例化列式盒		boxV4.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象		//实例化单行文本框		te4 = new JTextField(12);		te5 = new JTextField(12);		//向列式盒中添加单行文本框		boxV4.add(te4);		boxV4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象		boxV4.add(te5);		boxH2.add(boxV4);  //向行式盒中添加列式盒				p1 = new JPanel();  //实例化面板对象		p1.add(boxH1);  //向p1面板中添加行式盒boxH1		p2 = new JPanel();   //实例化面板对象		p2.add(boxH2);  //向p2面板中添加行式盒boxH2				te6 = new JTextField(10);  //实例化一个单行文本框		button1 = new JButton("删除");  //实例化一个按钮对象		button1.addActionListener(new ActionListener() {  //给按钮添加监视器处理事件						@Override			public void actionPerformed(ActionEvent e) {				try {  //异常处理					if(te1.getText().equals(te6.getText())) {   //通过条件判断语句判断输入的信息是否符合要求						//获取到文本框中的内容传给Student类						Student student = new Student();    						student.set(te1.getText(), te4.getText(), Float.parseFloat(te2.getText()), Float.parseFloat(te5.getText()), Float.parseFloat(te3.getText()));						dbUtil.delete(student); //调用MyDBUtil类中的modify类						area.setText("成绩信息删除成功,你可以通过查询成绩来查看相关信息!!!");  //给多行文本框设值						//运行之后设置文本框的值为空						te1.setText("");						te2.setText("");						te3.setText("");						te4.setText("");						te5.setText("");						te6.setText("");					}else {						area.setText("温馨提示!!"+"\r\"+"由于两处学号信息不一致,无法进行删除.."+"\r\"+"请重新输入你想删除的信息!!"); //给多行文本框设值						//运行之后设置文本框的值为空						te1.setText("");						te2.setText("");						te3.setText("");						te4.setText("");						te5.setText("");						te6.setText("");					}				}catch (NumberFormatException e1) {					// TODO Auto-generated catch block					area.setText("温馨提示!!"+"\r\"+"输入的成绩不符合要求,删除失败,请重新进行操作!!!");  //删除失败后设置area中的信息提示					//运行之后设置文本框的值为空					te1.setText("");					te2.setText("");					te3.setText("");					te4.setText("");					te5.setText("");					te6.setText("");				}			}		});		p3 = new JPanel();   //实例化面板对象		p3.add(new JLabel("输入学号: "));   //向p3面板中添加标签		p3.add(te6);  //向p3面板中添加t6文本框		p3.add(button1);  //向p3面板添加按钮				area = new JTextArea("请按标签信息输入你想删除的信息!!",5,30); //实例化多行文本框		p4 = new JPanel();  //实例化面板		p4.add(area); //向面板中添加area				panel5 = new JPanel();  //实例化面板对象		panel5.setLayout(new BorderLayout());  //设置panel5面板的布局为BorderLayout布局		panel5.add(p1,BorderLayout.WEST);  //向panel5面板中添加p1面板并放在panel5的西面		panel5.add(p2);  //向panel5面板中添加p2面板		panel5.add(p3,BorderLayout.SOUTH);  //向panel5面板中添加p3面板并放在panel5的南面。		panel5.add(p4,BorderLayout.NORTH);  //向panel5面板中添加p4面板并放在panel5的北面。	}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
// 数据库操作实现import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class MyDBUtil {	    //先单独写一个方法,获取连接		public Connection getCon() {			Connection con=null;  //定义一个连接数据库的变量						try {				//在java文件中加载驱动类				Class.forName("com.mysql.cj.jdbc.Driver");				//连接数据库				con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root&useSSL=true&serverTimezone=GMT%2B8");			} catch (ClassNotFoundException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}			return con;  //返回连接		}				//查询所有记录		public ResultSet checkAll() {			Connection con = getCon(); //获取上面的连接			Statement statement=null;			ResultSet rs=null;			try {				if (con!=null) {					//建立查询语句					statement = con.createStatement();					//使用查询语句获取结果					rs=statement.executeQuery("select * from student");				}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}			return rs;		}		//查询所有记录并按某一成绩进行排序(升序或降序)		public ResultSet checkAll(String grade,String sort) {			Connection con = getCon(); //获取上面的连接			Statement statement=null;			ResultSet rs=null;			try {				if (con!=null) {					//建立查询语句					statement = con.createStatement();					//使用查询语句获取结果					rs=statement.executeQuery("select * from student order by "+grade+" "+sort+"");				}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}						return rs;		}			//添加记录		public void add(Student stu) {  //单独定义一个方法向数据库中添加数据。			Connection con = getCon(); //拿到连接			PreparedStatement pst = null; //创建预处理对象			try {				if (con!=null) {					pst=con.prepareStatement("insert into student values(?,?,?,?,?)");  //使用预处理语句提高效率					pst.setString(1, stu.getId()); //给第一个问号处设值					pst.setString(2,stu.getName()); //给第二个问号处设值					pst.setDouble(3, stu.getMath()); //给第三个问号处设值					pst.setDouble(4, stu.getPhysics());  //给第四个问号处设值					pst.setDouble(5, stu.getEnglish());  //给第五个问号处设值					pst.executeUpdate();  //由于使用了预处理语句,执行时就不用传入执行语句。				}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}finally {  //关闭资源  原则: 先打开的后关闭,后打开的先关闭。 异常最好各处理各的。				if (pst!=null) {					try {						pst.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}				if (con!=null) {					try {						con.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}			}		}				//删除记录		public void delete(Student stu) {			Connection con = getCon(); //拿到连接			PreparedStatement pst = null; //定义预处理变量			try {				if (con!=null) {					String sql = "delete from student where 学号 = ?"; //设置查询语句					pst = con.prepareStatement(sql); //使用预处理语句					pst.setString(1, stu.getId());  //给问号设置值					pst.execute();  //执行查询语句				}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}finally {				if (pst!=null) {					try {						pst.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}				if (con!=null) {					try {						con.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}			}		}				//修改记录		public void modify(Student stu) { 					Connection con = getCon();  //拿到连接			PreparedStatement pst = null; //预处理语句			try {				if (con!=null) {					String sql = "update student set 姓名=?,数学成绩=?,物理成绩=?,英语成绩=? where 学号=?"; //设置查询语句					pst = con.prepareStatement(sql);  //建立查询语句的时候就把sql语句传递进去。					pst.setString(1, stu.getName());  //给第一处问号设值					pst.setFloat(2, stu.getMath());  //给第二处问号设值					pst.setFloat(3, stu.getPhysics());  //给第三处问号设值					pst.setFloat(4, stu.getEnglish());  //给第四处问号设值					pst.setString(5, stu.getId());  //给第五处问号设值					pst.execute();  //执行的时候就不传入sql语句了。				}			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}finally {				if(pst!=null) {					try {						pst.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}				if(con!=null) {					try {						con.close();					} catch (SQLException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}			}		}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177

本代码完全由个人实现: (仅做参考)

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发