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

📄 studentpanel.java

📁 由java编写的学生选课管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
         default:                System.out.println( "Type was: " +rsmd.getColumnTypeName( i ) );
      }//end_Switch
      return currentRow;//返回当前行
   }
	
	
/**
    私有类作为各个面板监听
    
*/


	private class StudentPanelAction implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			/**
			   修改密码界面监听
			*/
			if(selected == 0)                                 //修改密码界面事件监听
			{
				if(e.getSource() == changeButton)                //修改密码按钮
				{ 
					newPassword = new String(newPasswordField.getPassword());
					againPassword = new String(againPasswordField.getPassword());
					if(newPassword.equals(againPassword))
					
					{
						
						try
						{
							inquestPass();
						}
						catch(SQLException sqle){}
					  
						
					}
					else
					{
						
						JOptionPane.showMessageDialog(StudentPanel.this, "你输入的密码不匹配,请重新输入!", "用户帐户", JOptionPane.WARNING_MESSAGE);
						oldPasswordField.setText(null);
						newPasswordField.setText(null);
						againPasswordField.setText(null);
						
					}
				}
				if(e.getSource() == resetButton)              //重置按钮
				{
					oldPasswordField.setText(null);
					newPasswordField.setText(null);
					againPasswordField.setText(null);
				}
			}
			
	
			/**
			   选课申请界面监听  选课申请界面监听  选课申请界面监听  
			*/
			if(selected == 2)
			{
				
					String commodityquery = "SELECT * FROM 课程信息表 WHERE 课程号=" 
					                        + courseNumTextField.getText() + "";
					                        
			  	//调用申请课程方法	               
          appendInfo(commodityquery);  
          
				
			}
		 
		
			
			
			
			/**
			   个人信息修改界面监听
		  */
		  if(selected ==4)
		  {
		  	if(e.getSource() == searchButton)      //查询按钮
		  	{
		  	
		  		try
          {
            insertQuery = "SELECT * FROM 学生基本信息表 WHERE 学号='"
                          + LoginFrame.myTextField.getText() + "'";
            //System.out.println(insertQuery);
            studentInfoQuery();
          }
          catch(SQLException ee)
          {
            JOptionPane.showMessageDialog (StudentPanel.this, ee ,
            "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
          }
          
		  	}
		  	
		  	if(e.getSource() == changeButton)      // 修改按钮
		  	{
		  		try
          {
       	    insertUpdate = "update 学生基本信息表 set 性别='"+ sexField.getText()
                           + "',专业='" + majorField.getText()+"',生日='" + birthField.getText()
                           + "',身高=" + heightField.getText()
                           + " where 学号 = '"+LoginFrame.myTextField.getText()+"'";
          	
            update();
          }
          catch(SQLException ee)
          {
             JOptionPane.showMessageDialog (StudentPanel.this, ee ,
             "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
          }
		  	}
		  	
		  	if(e.getSource() == resetButton)      //重置按钮
		  	{
		  		sexField.setText(null);
		  		majorField.setText(null);
		  		birthField.setText(null);
		  		heightField.setText(null);
		  	}
		  	
		  }
			
			
			
			
			
		}
	  
	  
	  //下面两个是修改密码所用的似有方法
		private void inquestPass() throws SQLException
		{
			loginUserName = LoginFrame.myTextField.getText();
			oldPassword = new String(oldPasswordField.getPassword());
			insertQuery="SELECT * FROM 学生基本信息表 WHERE 学号='"
                  + loginUserName + "' AND 密码='" + oldPassword + "'";
      
      try
      {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
      catch(ClassNotFoundException cnfe){}
      con=DriverManager.getConnection(url, username, password); 
      stmt=con.createStatement();
      ResultSet rs=stmt.executeQuery(insertQuery);
      boolean moreRecords=rs.next();
      if(!moreRecords)
      { 
          
          JOptionPane.showMessageDialog(StudentPanel.this, "请输入当前使用的密码", "警告", JOptionPane.WARNING_MESSAGE);
          con.close();
          return;
      }
      else
      try
      {
          updatePass();
      }
      catch ( SQLException sqlex ) 
      { 
         JOptionPane.showMessageDialog (StudentPanel.this ,"你输入的数据类型不匹配或长度超出了\n" +
            "允许的长度,请重新输入或联系管理员!",
            "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
        
      }
    }
	  //也是修改密码所用方法
	  private void updatePass() throws SQLException
    { 
      
      String newpassword = new String(newPasswordField.getPassword());
      insertUpdate = "UPDATE 学生基本信息表 SET 密码='" + newPassword + 
                     "' WHERE 学号='" + loginUserName + "'";
   
      int insert = stmt.executeUpdate( insertUpdate );    //executeUpdate返回一个整型值
      if (insert >=1)
      {
          JOptionPane.showMessageDialog( StudentPanel.this,"密码修改成功!" );
      } 
      con.close();
    }
    
    //申请课程所用的方法 申请课程所用的方法 申请课程所用的方法
    /*--------------------------appendInfo添加信息----------------------------*/
    private void appendInfo(String commodityquery) 
    { 
      try 
      { 
         String insertInput = "INSERT INTO 成绩表 VALUES('"
                              + LoginFrame.myTextField.getText() + "','"
                              + courseNumTextField.getText() + "'," + null + ")";
      	 stmt = con.createStatement(); 
         ResultSet queryresultSet = stmt.executeQuery( commodityquery );   
         boolean moreRecords = queryresultSet.next();     
         if ( !moreRecords ) 
         { 
            JOptionPane.showMessageDialog(StudentPanel.this,"对不起,此课程没有开课,请重新输入" ); 
            //setTitle( "无记录显示" );
            //queryconnection.close(); 
            return; 
         }  
         int insert = stmt.executeUpdate( insertInput );//executeUpdate返回一个整型值
         if (insert == 1)
         {
            JOptionPane.showMessageDialog(StudentPanel.this,"选课申请成功!" );
         }     
      } 
      catch ( SQLException sqlex ) 
      { 
         //sqlex.printStackTrace(); 
         JOptionPane.showMessageDialog (StudentPanel.this, sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
         courseNumTextField.setText(""); 
      } 
    }
    
    
    //下面两个方法是修改个人信息所用的方法  下面两个方法是修改个人信息所用的方法  
    //查询学生个人信息
   private void studentInfoQuery() throws SQLException
   {   
     // String InsertQuery="SELECT * FROM 学生基本信息表 WHERE 学号='"
     //                    +LoginFrame.myTextField.getText()+"'";
      try
      {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
      catch(ClassNotFoundException cnfex)
      {
           JOptionPane.showMessageDialog (StudentPanel.this,cnfex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
      }
      
     
      
      con=DriverManager.getConnection(url,username,password); 
      stmt=con.createStatement();
      ResultSet myRS= stmt.executeQuery(insertQuery);
      boolean moreRecords = myRS.next();
      if(!moreRecords)
      { 
          String warning="该帐号不存在!";
          JOptionPane.showMessageDialog(StudentPanel.this, warning,"警告",JOptionPane.WARNING_MESSAGE);
          con.close();
          return;
      }
      else
      {
      	
           nameField.setText(myRS.getString("姓名"));
           sexField.setText(myRS.getString("性别"));
           majorField.setText(myRS.getString("专业"));
           birthField.setText(myRS.getString("生日")); 
           heightField.setText(myRS.getString("身高"));
           con.close();
        
      }
   }
 
   //修改学生个人信息
   private void update() throws SQLException
   { 
     try 
     { 
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     } 
     //捕获加载驱动程序异常
     catch ( ClassNotFoundException cnfex ) 
     { 
       System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
      //cnfex.printStackTrace(); 
       JOptionPane.showMessageDialog (StudentPanel.this ,cnfex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
       System.exit( 1 );  // terminate program 
     } 
     try
     {
     	  con=DriverManager.getConnection(url,username,password);  
        stmt = con.createStatement();
        int insert = stmt.executeUpdate( insertUpdate );//executeUpdate返回一个整型值
        if (insert >=1)
        {
          JOptionPane.showMessageDialog(StudentPanel.this,"信息修改成功!" );
        } 
        con.close();
     }
     catch( SQLException sqlex ) 
     { 
        JOptionPane.showMessageDialog (StudentPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
     }
   }

     
     
  	
     
     
   
  }

		
		
	


	private int selected;
	private JButton changeButton, resetButton;             //修改密码界面按钮
	private JButton queryButton, backButton, searchButton;                          //课程修读界面按钮
	private JPasswordField oldPasswordField, newPasswordField, againPasswordField;
	private String insertQuery, insertUpdate;
	private Connection con=null;
  private Statement stmt=null;
  private String url = "jdbc:odbc:java"; 
  private String username = "sa", loginUserName, oldPassword, newPassword, againPassword;
  private String password = ""; 
 
  private JTextField nameField, sexField, majorField, birthField, heightField;
  private JTextField courseNumTextField;
  
  private String query = null;
	
}

⌨️ 快捷键说明

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