⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 studentmanagement2.java

📁 this is a system of student of managemet thouhth it is very small ,it contact a
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class StudentManagement2 extends JFrame implements ActionListener{
  JTabbedPane dbTabPane;
  
  JPanel inputPanel;//录入面板;
  JPanel viewPanel;//浏览面板;
  JPanel updatePanel;//更新面板;
  JPanel deletePanel;//删除面板; 
  
  JButton inputBtn;
  StudentPanel inputInnerPanel;
  
  JTextArea viewArea;
  JButton viewBtn;
  
  StudentPanel updateInnerPanel;
  JLabel updateInputLbl;
  JTextField updateInputText;
  JButton updateBtn; 
  
  StudentPanel deleteInnerPanel;
  JLabel inputNoLable;
  JTextField inputNoField;
  JButton deleteBtn;
  
  Connection conn;
  Statement stmt;
  public StudentManagement2() {
    super("信息管理学生基本信息管理");
    setGUIComponent();
  }

  public void setGUIComponent(){
    Container c=getContentPane();
    c.setLayout(new BorderLayout());
    
    dbTabPane=new JTabbedPane();
    
    //定义录入面板 
    inputPanel=new JPanel();
    inputPanel.setLayout(new FlowLayout());
    inputBtn=new JButton("录入");
    inputBtn.addActionListener(this);
    inputInnerPanel=new StudentPanel();
    inputPanel.add(inputInnerPanel);
    inputPanel.add(inputBtn);
    dbTabPane.add("录入记录",inputPanel);
    
    //定义浏览面板
    viewPanel=new JPanel();
    viewPanel.setLayout(new BorderLayout());
    viewArea=new JTextArea(6,35);
    viewBtn=new JButton("浏览");
    viewPanel.add(new JScrollPane(viewArea),BorderLayout.CENTER);
    viewPanel.add(viewBtn,BorderLayout.SOUTH);
    viewBtn.addActionListener(this);
    dbTabPane.add("浏览记录",viewPanel);
  
    //定义更新面板
    updateInnerPanel=new StudentPanel();
    updateInputLbl=new JLabel("输入学号:");
    updateInputText=new JTextField(10);
    updateInputText.addActionListener(new ActionListener(){
    	
    	public void actionPerformed(ActionEvent e){
    		connection();
    		try{
    			ResultSet rs=stmt.executeQuery("SELECT * from student where 学号='"+updateInputText.getText()+"'");	
    			rs.next();
    			
    				
    					updateInnerPanel.setNo(rs.getString(1));
    					updateInnerPanel.setNames(rs.getString(2));
    					updateInnerPanel.setGendar(rs.getString(3));
    					updateInnerPanel.setBirth(rs.getString(4));
    					updateInnerPanel.setAddress(rs.getString(5));
    					updateInnerPanel.setTel(rs.getString(6));
    				
    			
    		}
    		catch(SQLException ex){
    		     System.err.println("更新错误");
    		   }
    	
    	}
       //将更新面板的显示内容清除;

    });
    updateBtn=new JButton("修改");
    updateBtn.addActionListener(this);
    updatePanel=new JPanel();
    updatePanel.add(updateInnerPanel);
    updatePanel.add(updateInputLbl);
    updatePanel.add(updateInputText);
    updatePanel.add(updateBtn);
    dbTabPane.add("修改记录",updatePanel);
    
    //定义删除面板
    deleteInnerPanel=new StudentPanel();
    inputNoLable=new JLabel("输入学号:");
    inputNoField=new JTextField(10);
    inputNoField.addActionListener(new ActionListener(){ // 程序段2 //将删除面板的显示内容清除;
    	public void actionPerformed(ActionEvent e){
    		connection();
    		try{
    			ResultSet rs=stmt.executeQuery("SELECT * from student where 学号="+inputNoField.getText()+";");	
    			while(rs.next()){
    				for(int i=1;i<=6;i++){
    				
    					deleteInnerPanel.setNo(rs.getString(1));
    					deleteInnerPanel.setNames(rs.getString(2));
    					deleteInnerPanel.setGendar(rs.getString(3));
    					deleteInnerPanel.setBirth(rs.getString(4));
    					deleteInnerPanel.setAddress(rs.getString(5));
    					deleteInnerPanel.setTel(rs.getString(6));
    				}
    			}
    		}
    		catch(SQLException ex){
    		     System.err.println("删除成功");
    		   }
    	
    	}
     
    });
    deleteBtn=new JButton("删除");
    deleteBtn.addActionListener(this);
    deletePanel=new JPanel();
    deletePanel.add(deleteInnerPanel);
    deletePanel.add(inputNoLable);
    deletePanel.add(inputNoField);
    deletePanel.add(deleteBtn);
    dbTabPane.add("删除记录",deletePanel);
    
    c.add(BorderLayout.NORTH,dbTabPane);
  }
  
  public void connection(){//连接数据库;
	    try{
	      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//装载驱动程序;

	      conn=DriverManager.getConnection("jdbc:odbc:student");//连接ODBC数据源studentManager

	      stmt=conn.createStatement()        ;//获得执行语句对象stmt;

	    }catch(ClassNotFoundException e1){
	      System.err.println("驱动程序装载失败!");
	    }catch(SQLException e2){
	      e2.getSQLState();
	      e2.getMessage();
	    }
	  }//end of connection method;
  //略,同程序清单17-3的connection方法定义
  

  public void close(){//关闭数据连接
	    try{
	     if (stmt != null) stmt.close();
	     if (conn != null) conn.close();      
	   }catch(SQLException e2){
	     System.err.println("不能正常关闭");
	   }
	  }
  //略,同程序清单17-3的close方法定义
  
  
  public void inputRecords(){//录入学生记录
	 
  String no=inputInnerPanel.getNo();//获得学号
  String name=inputInnerPanel.getNames();//获得姓名
  String gendar=inputInnerPanel.getGendar();//获得性别
  String birth=inputInnerPanel.getBirth();//获得出生年月
  String address=inputInnerPanel.getAddress();//获得家庭地址
  String tel=inputInnerPanel.getTel();//获得联系电话;
  StudentPanel inputInnerPanel;
  try{
  connection();
  String InsSQL;
  InsSQL="INSERT INTO student (学号,姓名,性别,出生年月,家庭住址,联系电话)"+
"VALUES("+"'"+no+"',"+"'"+name+"',"+"'"+gendar+"',"+"'"+birth+"',"+"'"+address+"',"+"'"+tel+"');";//定制插入SQL语句字符串 
  stmt.executeUpdate(InsSQL);//执行将新记录插入到数据表student中;
  
}catch(SQLException e1){
	System.err.println("数据错误");
    System.err.println(e1.getSQLState());
  }
  finally{
   close();//关闭数据库
  }
  }
  //略,同程序清单17-3的inputRecords方法定义
  
  
  public void viewARecord(String no,StudentPanel p){
//在显示面板p中,显示学号为no的学生信息
	  try{
	      String viewString="";
	      connection();
    	ResultSet rs=stmt.executeQuery("SELECT * from student where 学号="+no+";");
    	ResultSetMetaData rsMeta=rs.getMetaData();
        int nums=rsMeta.getColumnCount();
        //获得字段名称;
        for(int i=1;i<=nums;i++){
          viewString+=rsMeta.getColumnName(i)+"\t";
        }
        viewString+="\n";
        //获得数据表student的记录;
        while(rs.next()){
          for(int i=1;i<=nums;i++){
            viewString+=rs.getString(i)+"\t";
          }
          viewString+="\n";
          viewArea.setText(viewString);
          
        }
      }catch(SQLException e1){
        System.err.println("操作失败");
        System.err.println(e1.getSQLState()+e1.getMessage());
      }
      finally{
       close();
      }
    }
  
  public void viewRecords(){//浏览该班所有学生的记录;
    try{
      String viewString="";
      connection();
      ResultSet rs=stmt.executeQuery("SELECT * from student");
      ResultSetMetaData rsMeta=rs.getMetaData();
      int nums=rsMeta.getColumnCount();
      //获得字段名称;
      for(int i=1;i<=nums;i++){
        viewString+=rsMeta.getColumnName(i)+"\t";
      }
      viewString+="\n";
      //获得数据表student的记录;
      while(rs.next()){
        for(int i=1;i<=nums;i++){
          viewString+=rs.getString(i)+"\t";
        }
        viewString+="\n";
        viewArea.setText(viewString);
      }
    }catch(SQLException e1){
      System.err.println("浏览学生记录失败");
      System.err.println(e1.getSQLState()+e1.getMessage());
    }
    finally{
     close();
    }
  }
  
  public void updateRecord(String no){//修改学号为no学生的记录;
	  try{

    	  String name=updateInnerPanel.getNames();//获得姓名
    	  String gendar=updateInnerPanel.getGendar();//获得性别
    	  String birth=updateInnerPanel.getBirth();//获得出生年月
    	  String address=updateInnerPanel.getAddress();//获得家庭地址
    	  String tel=updateInnerPanel.getTel();//获得联系电话;
    	  //String viewString="";
      
    	  connection(); 
      	stmt.executeUpdate("UPDATE  student set 姓名='"+name+"',性别='"+gendar+"',出生年月='"+birth+"',家庭住址='"+address+"',联系电话='"+tel+"' where 学号='"+ no +"';");
    }catch(SQLException e1){
    	 System.err.println("数据错误");
    	 System.err.println(e1.getSQLState()+e1.getMessage());
    }finally{
      close();
    }
  }
  public void deleteRecord(String no){//删除学号为no学生的记录;
    try{
    	
    	connection(); 
    	stmt.executeUpdate("delete from student WHERE 学号='"+no+"'");
    	
    }catch(SQLException e1){
      System.err.println("操作失败");
      System.err.println(e1.getSQLState()+e1.getMessage());
    }
    finally{
      close();
    }    
  }
  public void actionPerformed(ActionEvent e){
    if(e.getSource()==inputBtn){
      inputRecords();
    }
    else if(e.getSource()==viewBtn){
      viewRecords();
    }
    else if(e.getSource()==updateBtn){
      updateRecord(updateInnerPanel.getNo());
    }
    else if(e.getSource()==deleteBtn){
      deleteRecord(inputNoField.getText());
      deleteInnerPanel.clearContent();
    }
  }

  public static void main(String[] args) {
    StudentManagement2 sm = new StudentManagement2();
    sm.setSize(500,250);
    sm.setVisible(true);
    sm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

⌨️ 快捷键说明

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