addscore.java

来自「可以用的成绩管理系统」· Java 代码 · 共 274 行

JAVA
274
字号
/**
 * @(#)AddScore.java
 *
 *
 * @author 
 * @version 1.00 2008/7/7
 */
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.sql.*;
import java.util.*;
public class AddScore extends JFrame implements ActionListener{
	JLabel jl1,jl2,jl3;
	JComboBox jcb;
	JButton jbtn1,jbtn2,jbtn3,jbtn4;
	JTextField jtf1,jtf2,jtf3;
	JTable jta;
	JPanel jpl;
	
	DefaultTableModel model;
	
	DataBaseManager db = new DataBaseManager();
	ResultSet rs;
	
    public AddScore() {
    	jl1 = new JLabel("查询");
    	jl2 = new JLabel("课程号");
    	jl3 = new JLabel("课程名");
    	String [] strjcb = {"学号","姓名","院系","专业"};
    	jcb = new JComboBox(strjcb);
    	jtf1 = new JTextField(10);
    	jtf2 = new JTextField(10);
    	jtf3 = new JTextField(10);
    	jbtn1 = new JButton("查询");
    	jbtn1.addActionListener(this);
    	jbtn2 = new JButton("确定");
    	jbtn2.addActionListener(this);
    	jbtn3 = new JButton("添加成绩完毕");
    	jbtn3.addActionListener(this);
    	jbtn4 = new JButton("返回主界面");
    	jbtn4.addActionListener(this);
    	
    	Object[][] arrayObj= {};
    	String[] colum = {"学号","姓名","性别","院系","专业","课程号","课程名","成绩","学分"};
    	model = new DefaultTableModel(arrayObj,colum);	
    	jta = new JTable(model);//arrayObj,colum
    	jta.setCellSelectionEnabled(true);
    	jta.setShowGrid(true);
     	jta.setPreferredSize(new Dimension(800,600));
   		jta.setPreferredScrollableViewportSize(new Dimension(600,500));
    	JScrollPane scrollPane=new JScrollPane(jta);
    	
    	jpl = new JPanel();
    	jpl.setLayout(new BorderLayout());
    	
    	JPanel jpl14 = new JPanel();
    	jpl14.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));
    	jpl14.add(jl2);
    	jpl14.add(jtf2);
    	jpl14.add(jl3);
    	jpl14.add(jtf3);
    	jpl14.add(jbtn2);
    	
    	
    	JPanel jpl15 = new JPanel();
    	jpl15.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));
    	jpl15.add(jl1);
    	jpl15.add(jcb);
    	jpl15.add(jtf1);
    	jpl15.add(jbtn1);
    	jpl15.add(jpl14);
    	
    	JPanel jpl11 = new JPanel();
    	jpl11.setLayout(new BorderLayout());
    	jpl11.add(jpl14,BorderLayout.SOUTH);
    	jpl11.add(jpl15,BorderLayout.NORTH);
    	
    	JPanel jpl12 = new JPanel();
    	jpl12.setLayout(new FlowLayout());
    	jpl12.add(scrollPane);
    	
    	JPanel jpl13 = new JPanel();
    	jpl13.setLayout(new FlowLayout());
    	jpl13.add(jbtn3);
    	jpl13.add(jbtn4);
    	
    	jpl.add(jpl11,BorderLayout.NORTH);
    	jpl.add(jpl12,BorderLayout.CENTER);
    	jpl.add(jpl13,BorderLayout.SOUTH);
    	
    	this.add(jpl);
    	
    	this.setSize(700,500);
    	this.setLocation(150,150);
    	this.setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
    	Object o = e.getSource();
    	//查询学生信息
    	if(o.equals(jbtn1)){
    		//查询前先清除表格中内容
    		
			for(int i =model.getRowCount()-1;i>=0;i--){
				model.removeRow(i);
				jpl.repaint();
			}

    		
    		
    		
    		int type = jcb.getSelectedIndex();
    		switch(type){
    			case 0:  
    				try{
					
						String strSQL="select *from  Student_Info where Student_ID='"+jtf1.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						jpl.repaint();
						}
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}		
						
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    			case 1:	
    				try{
					
						String strSQL="select *from  Student_Info where Student_Name='"+jtf1.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						jpl.repaint();
						}
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}		
						
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    			case 2:	
    				try{
					
						String strSQL="select *from  Student_Info where Student_Dept='"+jtf1.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						jpl.repaint();
						}		
						
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    			case 3:	
    				try{
					
						String strSQL="select *from  Student_Info where Student_Mjor='"+jtf1.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						jpl.repaint();
						}		
						
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    		
    		}
    		
    		
    	}
    	if(o.equals(jbtn2)){
			
			for(int i =0;i<model.getRowCount();i++ ){
				model.setValueAt(jtf2.getText().trim(),i,5);
				model.setValueAt(jtf3.getText().trim(),i,6);
				jpl.repaint();
			}
		}
		
		if(o.equals(jbtn3)){
			
			try{

				int row = model.getRowCount(); 
            	int column = model.getColumnCount(); 
  
            	for(int i=0; i <row; i++){ 
                	if(model.getValueAt(i,7)==null|model.getValueAt(i,8)==null){
                		
                		JOptionPane.showMessageDialog(null,"请将学生成绩及学分输入完整!","提示",JOptionPane.INFORMATION_MESSAGE);
                		break;
                	}
                }
            	
            	
            	for(int i=0; i <row; i++){ 
                	Vector v = new Vector(); 
                	for(int j=0; j <column; j++){ 
                    	v.add(model.getValueAt(i,j)); 
                    	
                }
                	
                	
                	String strSQL = "insert into Student_Score values (" + "'" + v.get(0).toString() + "'" + "," + 
                      	"'" + v.get(5).toString() + "'" + "," + "'" + v.get(6).toString() + "'" + "," + 
                      	"'" + v.get(7).toString() + "'" + "," + "'" + v.get(8).toString() + "'" + ")"; 
                	if(!db.updateSql(strSQL)){
					
    					JOptionPane.showMessageDialog(null,"学生成绩登记失败!","提示",JOptionPane.INFORMATION_MESSAGE);
    					break;
						
    				}
    				if(db.updateSql(strSQL) && i==row){
    					
    					JOptionPane.showMessageDialog(null,"学生成绩登记成功!","提示",JOptionPane.INFORMATION_MESSAGE);
    				}	
						
				}
			
			}catch(NullPointerException ex){
				System.out.println(ex);
			}	
			
		}
		
		if(o.equals(jbtn4)){
			
			this.dispose();
			new MainFace();
		}
    }
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?