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

📄 teacherpanel.java

📁 由java编写的学生选课管理系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
         System.exit( 1 );  // terminate program 
       }
       try 
       { 
         stmt = con.createStatement();
         /*--------------------------执行录入------------------------*/
         ResultSet rs = stmt.executeQuery( insertQuery );  
         boolean moreRecords = rs.next();     
         if (! moreRecords ) 
         {
            JOptionPane.showMessageDialog( TeacherPanel.this,"对不起,该记录不存在,请重新输入" );
             
            stuNumTextField.setText(null);
            courseNumTextField.setText(null);
            courseNameTextField.setText(null);
            gradeTextField.setText(null);
            
            con.close(); 
            return;
        
         } 
         
         
         courseNameTextField.setText(rs.getString("课程名"));
         if(selected == 52)
         {
       	   selected = 2;
       	   //courseNameTextField.setText(rs.getString("课程名"));
       	   gradeTextField.setText(rs.getString("分数"));
           con.close();
           return;
         }
         /*---------------------------------------------------*/
         
         int insert = stmt.executeUpdate( insertUpdate );//executeUpdate返回一个整型值
         if (insert == 1)
   	     { 
   	      	
            JOptionPane.showMessageDialog(TeacherPanel.this,"操作成功!" );
         } 
         /*---------------------------------------------------*/
      } 
      catch ( SQLException sqlex ) 
      { 
      /*f((select!=52)&&select!=51))
       {
       	 JOptionPane.showMessageDialog ( this ,"你输入的数据类型不匹配或长度超出了\n"+
          "允许的长度,请重新输入或联系管理员!",
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
       }
       else*/
          JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
      }
         
    }
    
   //下面两个方法是修改个人信息所用的方法  下面两个方法是修改个人信息所用的方法  
   //查询教师个人信息
   private void inquest() throws SQLException
   {   
     
      try
      {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
      catch(ClassNotFoundException cnfex)
      {
           JOptionPane.showMessageDialog ( TeacherPanel.this,cnfex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE );	
      }
      
     
      
      con=DriverManager.getConnection(url,username,password); 
      stmt=con.createStatement();
      ResultSet rs= stmt.executeQuery(insertQuery);
      boolean moreRecords = rs.next();
      if(!moreRecords)
      { 
          String warning="该帐号不存在!";
          JOptionPane.showMessageDialog(TeacherPanel.this, warning,"警告",JOptionPane.WARNING_MESSAGE);
          con.close();
          return;
      }
      else
      {
      	   numTextField.setText(rs.getString("登陆帐号"));
           nameTextField.setText(rs.getString("教师"));
           collegeTextField.setText(rs.getString("院系"));
           sexTextField.setText(rs.getString("性别"));
           ageTextField.setText(rs.getString("年龄"));
           titleTextField.setText(rs.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 (TeacherPanel.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(TeacherPanel.this,"信息修改成功!" );
        } 
        con.close();
     }
     catch( SQLException sqlex ) 
     { 
        JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
     }
   }
    
    
  }
  
  //选课名单所用的方法三个 
    /*----------------------------getTable-------------------------------*/    
  private void getTable(String commodityquery) 
  { 
       
     //加载驱动程序以连接数据库
        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 ); 
         	System.exit( 1 );  // terminate program 
      	}
        try 
        { 
      	  //执行SQL语句
          stmt = con.createStatement(); 
          ResultSet queryresultSet = stmt.executeQuery( commodityquery );       
          //在表格中显示查询结果
          displayResultSet( queryresultSet);     //调用另一个方法
        } 
        catch ( SQLException sqlex ) 
       { 
         sqlex.printStackTrace(); 
         JOptionPane.showMessageDialog (TeacherPanel.this,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
       } 
  }  	
  /*---------------------------displayResultSet--------------------------------*/   
  private void displayResultSet( ResultSet commodityrs ) throws SQLException 
  { 
      //定位到达第一条记录
     
      boolean commoditymoreRecords = commodityrs.next();
      //如果没有记录,则提示一条消息
      
      if ( ! commoditymoreRecords ) 
      { 
         JOptionPane.showMessageDialog(TeacherPanel.this, "无此记录" ); 
         //setTitle( "无记录显示" ); 
      	 return ;
      } 
     
      Vector commoditycolumnHeads = new Vector(); 
      Vector commodityrows = new Vector(); 
      try
      {
      	 
         //获取字段的名称
         ResultSetMetaData rsmd = commodityrs.getMetaData(); 
         for(int i = 1; i <= rsmd.getColumnCount(); i++)
         { 
            commoditycolumnHeads.addElement( rsmd.getColumnName( i ) ); 
         }
          //获取记录集
         do 
         { 
            commodityrows.addElement(getNextRow( commodityrs, rsmd ) ); 
         } 
         while ( commodityrs.next() ); 
         
         ResultSetMetaData commodityrsmd = commodityrs.getMetaData();      //why???????
        
         
         //在表格中显示查询结果
         JTable commoditytable = new JTable( commodityrows, commoditycolumnHeads ); 
         
         JScrollPane scroller = new JScrollPane( commoditytable ); 
         scroller.setSize(800, 20);
          
        // Container c = new Container(); 
        // c.remove(1); 
     	   JPanel tablePanel = new JPanel();
     	   tablePanel.setLayout( new BorderLayout() );
         tablePanel.add( scroller, BorderLayout.CENTER ); 
       
         add(tablePanel,BorderLayout.CENTER);
         //刷新Table
         validate(); 
      } 
      catch ( SQLException sqlex )
	    { 
         JOptionPane.showMessageDialog (TeacherPanel.this ,sqlex ,
          "学生选课管理系统",JOptionPane.WARNING_MESSAGE ); 
      } 
  } 
    
  /*-----------------------------getNextRow---------------------------------*/
  private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd )throws SQLException
  {
      Vector currentRow = new Vector();
      for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
      switch( rsmd.getColumnType( i ) ) //判断数据类型
      {
         case Types.CHAR:
         case Types.VARCHAR:
         case Types.LONGVARCHAR: currentRow.addElement( rs.getString( i ) );
                                 break;
         case Types.DECIMAL:     currentRow.addElement( rs.getBigDecimal( i ) );
                                 break;  
         case Types.DATE:        currentRow.addElement( rs.getDate( i ) );
                                 break;                                                 
         case Types.SMALLINT:    
         case Types.INTEGER:     currentRow.addElement(new Integer( rs.getInt( i ) ) );
                                 break;
         default:                System.out.println( "Type was: " +rsmd.getColumnTypeName( i ) );
      }//end_Switch
      return currentRow;//返回当前行
  }
  
  
  
  
  
  
	
	private int selected, insert;
	private JButton changeButton, resetButton;             //修改密码界面按钮
	private JButton queryButton, updateButton;                           //选课名单查询按钮
	
	private JPasswordField oldPasswordField, newPasswordField, againPasswordField;
	private JTextField courseNumTextField, stuNumTextField, stuNameTextField, courseNameTextField, gradeTextField;
	private JTextField numTextField, nameTextField, collegeTextField, sexTextField, 
	                   ageTextField, titleTextField;  //教师个人信息维护界面文本区
	private String query, 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 JTable stuNameTable;
  
  private JButton confirmButton;                          //按成绩排序界面按钮
  private JRadioButton byTotalButton, byAverageButton;    //按成绩排序界面按钮

	
}

⌨️ 快捷键说明

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