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

📄 teacherpanel.java

📁 由java编写的学生选课管理系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
							inquestPass();
						}
						catch(SQLException sqle){}
					  
						
					}
					else
					{
						
						JOptionPane.showMessageDialog(TeacherPanel.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 == 1 && e.getSource() == queryButton)
			{
				query = "SELECT 课程名,成绩表.学号,姓名  FROM 学生基本信息表,成绩表,课程信息表,教师表 WHERE 成绩表.学号=学生基本信息表.学号 AND 成绩表.课程号=课程信息表.课程号 AND 课程信息表.教师=教师表.教师 AND 登陆帐号='"
        		    + LoginFrame.myTextField.getText()
        		    + "' AND 成绩表.课程号=" + courseNumTextField.getText();
        
        getTable(query);
			}
			
	 //成绩管理界面按钮监听  //成绩管理界面按钮监听  //成绩管理界面按钮监听 
			if(selected == 2)
			{
				
				if(e.getSource() == queryButton)         //查询按钮  
        {
        	 if(stuNumTextField.getText().equals( "" )||courseNumTextField.getText().equals( "" ))
   	       {
   	             JOptionPane.showMessageDialog(TeacherPanel.this, "请填好查询信息" ); 
                 //setTitle( "无记录显示" ); 
                  	
   	       }
   	       else
   	       {
        	 
        	   try
             {  
             
   	           insertQuery =  "SELECT 课程名,分数 FROM 成绩表,课程信息表,教师表 WHERE 学号 = '"
   	                          +stuNumTextField.getText()+"' AND 成绩表.课程号='"+courseNumTextField.getText()
   	                          +"' AND 登陆帐号='"+LoginFrame.myTextField.getText()
   	                          +"' AND 课程信息表.教师=教师表.教师";
   	         
   	           selected = 52;  //不同方法
   	         
               inputGrade();
            }
            catch(SQLException ee)
            {
            	 JOptionPane.showMessageDialog (TeacherPanel.this, ee ,
               "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
            }
          } 
          	
        }
				
				if(e.getSource() == updateButton)           //更新按钮
				{
				  
				  try
				  {
           
             if(stuNumTextField.getText().equals( "" ) || courseNumTextField.getText().equals( "" ) || gradeTextField.getText().equals( "" ))
   	         {
   	             JOptionPane.showMessageDialog(TeacherPanel.this, "请填好更新成绩记录" ); 
                 //setTitle( "无记录显示" ); 
                 	
   	         }
   	        
   	         else
   	         {
   	           insertQuery = "SELECT 学号,课程名,成绩表.课程号 FROM 成绩表,课程信息表,教师表 WHERE 学号 = '"
   	                        + stuNumTextField.getText()+"' AND 成绩表.课程号='" + courseNumTextField.getText()
   	                        +"' AND 登陆帐号='"+LoginFrame.myTextField.getText()
   	                        +"' AND 课程信息表.教师=教师表.教师";
   	           insertUpdate = "UPDATE  成绩表 SET 分数=" + gradeTextField.getText()
   	                          +"  WHERE 学号='"+stuNumTextField.getText()
   	                          +"' AND 课程号 IN(SELECT 课程号 "
   	                          +" FROM 课程信息表,教师表 WHERE 课程号='"+courseNumTextField.getText()
   	                          +"' AND 登陆帐号='"+LoginFrame.myTextField.getText()
   	                          +"' AND 课程信息表.教师=教师表.教师)";
   	           
               inputGrade();
             }
          }
          catch(SQLException ee)
          {
          	JOptionPane.showMessageDialog (TeacherPanel.this, ee, "学生选课管理系统",
          	                               JOptionPane.WARNING_MESSAGE );
          } 
         
        }
        
       
        
        if(e.getSource() == resetButton)     //重置按钮
        { 
        	
        	stuNumTextField.setText(null);
        	courseNumTextField.setText(null);
        	courseNameTextField.setText(null);
        	gradeTextField.setText(null);
        }
        
			} 
			
			
			if(selected == 3)             //统计学生成绩界面监听
			{
				
				  
				  if(byTotalButton.isSelected())
          {
        	
            query = "SELECT '学号'=成绩表.学号,'姓名'=姓名,'总分'=SUM(分数),'平均分'=AVG(分数) "
                    + " FROM 学生基本信息表,成绩表,课程信息表,教师表 "
                    + " WHERE 学生基本信息表.学号=成绩表.学号 "
                    + " AND 课程信息表.课程号=成绩表.课程号 "
                    + " AND 课程信息表.教师=教师表.教师 "
                    + " AND 教师表.登陆帐号='"
                    + LoginFrame.myTextField.getText()
                    + "' GROUP BY 成绩表.学号,姓名 ORDER BY SUM(分数) DESC";
            
        
          }  
         
          if(byAverageButton.isSelected())
          {
             query = "SELECT '学号'=成绩表.学号,'姓名'=姓名,'总分'=SUM(分数),'平均分'=AVG(分数) "
                    + " FROM 学生基本信息表,成绩表,课程信息表,教师表 "
                    + " WHERE 学生基本信息表.学号=成绩表.学号 "
                    + " AND 课程信息表.课程号=成绩表.课程号 "
                    + " AND 课程信息表.教师=教师表.教师 "
                    + " AND 教师表.登陆帐号='"
                    + LoginFrame.myTextField.getText()
                    + "' GROUP BY 成绩表.学号,姓名 ORDER BY AVG(分数) DESC";
          }
        
          getTable(query);     //建立表格    
        
			}
			
			
			
			
			if(selected == 4)     //教师个人信息界面监听
			{
				if(e.getSource() == queryButton)   //查询按钮
				{
					try
          {
            insertQuery="SELECT * FROM 教师表 WHERE 登陆帐号='"
                        + LoginFrame.myTextField.getText()+"'";
            
            inquest();
          }
          catch(SQLException ee)
          {
            JOptionPane.showMessageDialog(TeacherPanel.this, ee,
               "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
          }
				}
				
				if(e.getSource() == updateButton)     //更新按钮
				{
					try
          {
       	    insertUpdate = "UPDATE 教师表 SET 院系='" + collegeTextField.getText()
       	                   + "',性别='" + sexTextField.getText()
       	                   + "',年龄='" + ageTextField.getText()
       	                   + "',职称='" + titleTextField.getText()
                           + "' WHERE 登陆帐号 = '"+LoginFrame.myTextField.getText()+"'";
          	
            update();
          }
          catch(SQLException ee)
          {
             JOptionPane.showMessageDialog (TeacherPanel.this ,ee ,
               "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
          }   
				}
				
				if(e.getSource() == resetButton)       //重置按钮
				{
					numTextField.setText(null);
					nameTextField.setText(null);
					collegeTextField.setText(null);
					sexTextField.setText(null);
					ageTextField.setText(null);
					titleTextField.setText(null);
				}
				
			}
			
			
		}
		
		//下面两个是修改密码所用的似有方法
		private void inquestPass() throws SQLException
		{
			loginUserName = LoginFrame.myTextField.getText();
			oldPassword = new String(oldPasswordField.getPassword());
			insertQuery = "SELECT * FROM 教师表 WHERE 登陆帐号='"
                    + LoginFrame.myTextField.getText()+"' 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(TeacherPanel.this, "请输入当前使用的密码", "警告", JOptionPane.WARNING_MESSAGE);
          con.close();
          return;
      }
      else
      try
      {
          updatePass();
      }
      catch ( SQLException sqlex ) 
      { 
         JOptionPane.showMessageDialog (TeacherPanel.this,"你输入的数据类型不匹配或长度超出了\n" +
            "允许的长度,请重新输入或联系管理员!",
            "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
        
      }
    }
	  //也是修改密码所用方法
	  private void updatePass() throws SQLException
    { 
      
      String newPassword = new String(newPasswordField.getPassword());
      insertUpdate = "UPDATE 教师表 SET 登陆密码='" + newPassword
                     + "' WHERE 登陆帐号='" + LoginFrame.myTextField.getText() + "'";
   
      int insert = stmt.executeUpdate( insertUpdate );    //executeUpdate返回一个整型值
      if (insert >=1)
      {
          JOptionPane.showMessageDialog(TeacherPanel.this,"密码修改成功!" );
      } 
      con.close();
    }
    /**
       成绩管理所用的方法 成绩管理所用的方法 成绩管理所用的方法 
    */
    private 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 (TeacherPanel.this, cnfex ,
                                        "学生选课管理系统",JOptionPane.WARNING_MESSAGE );
         System.exit( 1 );  // terminate program 
       } 
       //捕获连接数据库异常
       catch ( SQLException sqlex ) 
       { 
         System.err.println( "无法连接数据库" ); 
         //sqlex.printStackTrace(); 
         JOptionPane.showMessageDialog (TeacherPanel.this, sqlex ,
                                         "学生选课管理系统",JOptionPane.WARNING_MESSAGE );

⌨️ 快捷键说明

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