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

📄 managerpanel.java

📁 由java编写的学生选课管理系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			
			  
			//查询课程信息界面监听  //查询课程信息界面监听  //查询课程信息界面监听  
			if(selected == 12)
			{
				if(e.getSource() == queryButton)   //查询按钮
				{
					try
          {  
             if(courseNumTextField.getText().equals( "" ))
   	         {
   	             JOptionPane.showMessageDialog(ManagerPanel.this,"请填好课程号" ); 
                 //setTitle( "无记录显示" ); 
                 return; 	
   	         }
   	         insertQuery = "SELECT * FROM 课程信息表 WHERE 课程号 = '"
   	                       + courseNumTextField.getText()+"'";
   	         
             inputGrade();
          }
          catch(SQLException ee)
          {
              JOptionPane.showMessageDialog (ManagerPanel.this ,ee ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
          } 
				}
				
				if(e.getSource() == resetButton)     //继续按钮
				{
					courseNumTextField.setText(null);
					courseNameTextField.setText(null);
					periodTextField.setText(null);
	        creditHourTextField.setText(null);
	        termTextField.setText(null);
	        teaTextField.setText(null);
				}
			}
			
			//删除课程信息界面监听  //删除课程信息界面监听  //删除课程信息界面监听   
			if(selected == 13)
			{
				if(e.getSource() == delButton)    //删除按钮
				{
				    try
            {  
            	 if(courseNumTextField.getText().equals( "" ))
   	           {
   	              JOptionPane.showMessageDialog( ManagerPanel.this, "请填好要删除教师的帐户!" ); 
                   //setTitle( "无记录显示" ); 
                   return; 	
   	           }
               insertQuery = "SELECT * FROM 课程信息表 WHERE 课程号= '" + courseNumTextField.getText()+"'";
               insertUpdate = "DELETE FROM 课程信息表 WHERE 课程号='" + courseNumTextField.getText()+"'";
               inputGrade();
            }
            catch(SQLException ee)
            {
          	    JOptionPane.showMessageDialog (ManagerPanel.this, ee ,
                  "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
            }
         }
         
         if(e.getSource() == resetButton)   //继续按钮
         {
         	 courseNumTextField.setText(null);
         }
         
			}
			
			//更新学生成绩    //更新学生成绩    //更新学生成绩    //更新学生成绩   
			if(selected == 14) 
			{
				if(e.getSource() == insertButton)   //更新按钮
				{
					try
          {  
             if(stuNumTextField.getText().equals( "" )
                || courseNumTextField.getText().equals( "" )
                || gradeTextField.getText().equals( "" ))
   	         {
   	             JOptionPane.showMessageDialog(ManagerPanel.this,"请填好成绩记录" ); 
                 //setTitle( "无记录显示" ); 
                 return; 	
   	         }
   	         insertQuery = "SELECT 学号,课程号 FROM 成绩表 WHERE 学号 = '"
   	                       + stuNumTextField.getText()+"' AND 课程号='"
   	                       + courseNumTextField.getText() + "'";
   	         insertUpdate = "UPDATE  成绩表 SET 分数=" + gradeTextField.getText()
   	                         + "  WHERE 学号='" + stuNumTextField.getText()
   	                         + "' AND 课程号='" + courseNumTextField.getText() + "'";
   	        
             inputGrade();
          }
          catch(SQLException ee)
          {
          	 JOptionPane.showMessageDialog (ManagerPanel.this ,ee ,
                "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
          }  
				}
				
				if(e.getSource() == resetButton)   //继续按钮
				{
					stuNumTextField.setText(null);
          courseNumTextField.setText(null);
          gradeTextField.setText(null);
				}
				
			}     
			
			//查询学生成绩    //查询学生成绩    //查询学生成绩    //查询学生成绩    
			if(selected == 15) 
			{
				if(e.getSource() == queryButton)   //查询按钮
				{
					try
          {  
             if(stuNumTextField.getText().equals( "" )
                || courseNumTextField.getText().equals( "" ))
   	         {
   	             JOptionPane.showMessageDialog(ManagerPanel.this,"请填写完整学号和课程号!"  ); 
                 //setTitle( "无记录显示" ); 
                 return; 	
   	         }
   	         insertQuery = "SELECT 分数 FROM 成绩表 WHERE 学号 = '"
   	                       + stuNumTextField.getText()
   	                       + "' AND 课程号='" + courseNumTextField.getText()+"'";
   	         
             inputGrade();
          }
          catch(SQLException ee)
          {
          	  JOptionPane.showMessageDialog (ManagerPanel.this ,ee ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
          }
				}
				
				if(e.getSource() == resetButton)   //继续按钮
				{
					stuNumTextField.setText(null);
          courseNumTextField.setText(null);
          gradeTextField.setText(null);
				}
				
			}  
			
			//删除学生成绩   //删除学生成绩   //删除学生成绩   //删除学生成绩      
			if(selected == 16) 
			{
				if(e.getSource() == delButton)   //删除按钮
				{
					try
          {  
             if(stuNumTextField.getText().equals( "" )
                ||courseNumTextField.getText().equals( "" ))
   	         {
   	             JOptionPane.showMessageDialog(ManagerPanel.this, "请填写完整学号和课程号!" ); 
                 //setTitle( "无记录显示" ); 
                 return; 	
   	         }
   	         insertQuery = "SELECT 学号,课程号 FROM 成绩表 WHERE 学号 = '"
   	                       + stuNumTextField.getText()+"' AND 课程号='"
   	                       + courseNumTextField.getText()+"'";
   	         insertUpdate = "DELETE FROM 成绩表 WHERE 学号='"+stuNumTextField.getText()+
   	                               "' AND 课程号='"+courseNumTextField.getText()+"'";
   	         
             inputGrade();
          }
          catch(SQLException ee)
          {
          	   JOptionPane.showMessageDialog (ManagerPanel.this ,ee ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
          } 
				}
				
				if(e.getSource() == resetButton)     //继续按钮
				{
					stuNumTextField.setText(null);
          courseNumTextField.setText(null);
       	}
				
			}  
			
			//统计学生成绩   //统计学生成绩   //统计学生成绩   //统计学生成绩  
			if(selected == 17) 
			{
				if(e.getSource() == confirmButton)
				{
					
				  
				  if(byTotalButton.isSelected())
          {
        	
            query = "SELECT '学号'=成绩表.学号,'姓名'=姓名,'总分'=SUM(分数),'平均分'=AVG(分数) "
                  +"FROM 学生基本信息表,成绩表 WHERE 学生基本信息表.学号=成绩表.学号"
                  +" GROUP BY 成绩表.学号,姓名 ORDER BY SUM(分数) DESC";
            
        
          }  
         
          if(byAverageButton.isSelected())
          {
             query = "SELECT '学号'=成绩表.学号,'姓名'=姓名,'总分'=SUM(分数),'平均分'=AVG(分数) "
                  +"FROM 学生基本信息表,成绩表 WHERE 学生基本信息表.学号=成绩表.学号"
                  +" GROUP BY 成绩表.学号,姓名 ORDER BY AVG(分数) DESC";   
          }
        
          getTable(query);     //建立表格    
        
          
        }
				
			}
			     
		}
		
		
		
		//下面两个是修改密码所用的似有方法
		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(ManagerPanel.this, "请输入当前使用的密码", "警告", JOptionPane.WARNING_MESSAGE);
          con.close();
          return;
      }
      else
      try
      {
          updatePass();
      }
      catch ( SQLException sqlex ) 
      { 
         JOptionPane.showMessageDialog (ManagerPanel.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( ManagerPanel.this,"密码修改成功!" );
      } 
      con.close();
    }
    
  
	}
	
	//录入学生或课程信息所用方法  录入学生或课程信息所用方法  录入学生或课程信息所用方法 
	public void inputStudent() throws SQLException
  {

    //加载驱动程序以连接数据库
     try 
     { 
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
       con=DriverManager.getConnection(url,username,password); 
     } 
     //捕获加载驱动程序异常
     catch ( ClassNotFoundException cnfex ) 
     { 
       System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
       //cnfex.printStackTrace(); 
       JOptionPane.showMessageDialog ( ManagerPanel.this ,cnfex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
       System.exit( 1 );  // terminate program 
     } 
     //捕获连接数据库异常
     catch ( SQLException sqlex ) 
     { 
       System.err.println( "无法连接数据库" ); 
       JOptionPane.showMessageDialog (ManagerPanel.this,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
       System.exit( 1 );  // terminate program 
     }
     try 
     { 
       stmt = con.createStatement();
       ResultSet rs = stmt.executeQuery( insertQuery );  
       boolean moreRecords = rs.next();     
       if ( moreRecords ) 
       { 
          JOptionPane.showMessageDialog(ManagerPanel.this,"对不起,此记录已使用,请重新输入" ); 
          //setTitle( "无记录显示" );
          con.close(); 
          return; 
       }  
       int insert = stmt.executeUpdate( insertUpdate );//executeUpdate返回一个整型值
       if (insert == 1)
   	   {
          JOptionPane.showMessageDialog(ManagerPanel.this,"信息录入成功!" );
      } 
    } 
    catch ( SQLException sqlex ) 
    { 
       JOptionPane.showMessageDialog (ManagerPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
    }
  }
  
  //修改信息所用方法   修改信息所用方法   修改信息所用方法 
  public void inputGrade() throws SQLException
  {

    //加载驱动程序以连接数据库
     try 
     { 
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
       con=DriverManager.getConnection(url,username,password); 
     } 
     //捕获加载驱动程序异常
     catch ( ClassNotFoundException cnfex ) 
     { 
       System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
       //cnfex.printStackTrace(); 
       JOptionPane.showMessageDialog (ManagerPanel.this, cnfex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
       System.exit( 1 );  // terminate program 
     } 
     //捕获连接数据库异常
     catch ( SQLException sqlex ) 
     { 
       System.err.println( "无法连接数据库" ); 
       //sqlex.printStackTrace(); 
       JOptionPane.showMessageDialog (ManagerPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
       System.exit( 1 );  // terminate program 
     }
     try 
     { 
       stmt = con.createStatement();
       /*--------------------------执行录入------------------------*/
       ResultSet rs = stmt.executeQuery( insertQuery );  
       boolean moreRecords = rs.next();     
       if (! moreRecords ) 
       {  
       	  //修改 学生 或 教师 或 课程 或 成绩信息失败调用       	
       	  if(selected ==3 || selected == 7 || selected == 11 || selected == 14)   
       	  {
            JOptionPane.showMessageDialog( ManagerPanel.this, "对不起,该记录不存在,请重新输入" ); 
            con.close(); 
            return;
          } 
          
                   
          if(selected == 4)    //查询学生信息失败调用
          {
          	String warning="该帐号不存在!";
            JOptionPane.showMessageDialog(ManagerPanel.this, warning,"警告", JOptionPane.WARNING_MESSAGE);
            stuNumTextField.setText(null);
            stuNameTextField.setText(null);
            sexTextField.setText(null);
            majorTextField.setText(null);
            birthTextField.setText(null); 
            heightTextField.setText(null);
            passwordTextField.setText(null)

⌨️ 快捷键说明

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