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

📄 inquestcourse.java

📁 java选课系统管理端
💻 JAVA
字号:
//package myprojects.main;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

public class InquestCourse extends JDialog
{
	private Connection queryconnection; 
   	private Statement commoditystatement;
   	private ResultSet commodityresultSet;
    private ResultSetMetaData commodityrsMetaData;
    //GUI变量定义
	private JFrame parent; 
	private JPanel labelPanel, tablePanel;//定义两块面板对象
	//labelPanel用来放标签,fieldsPanel用来放文本区
	private String labels = "请输入课程号:";
	private JTable table;  
	private JTable commoditytable; 
	private JButton submitQuery;     
	private JButton cancelQuery;     
            JTextField 课程号;
	
	
    public InquestCourse() 
    {
        String url = "jdbc:odbc:xkxt"; 
    	String username = "sa"; 
    	String password = ""; 
    	//加载驱动程序以连接数据库
      	try 
      	{ 
        	Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
        	queryconnection = DriverManager.getConnection( url, username, password ); 
      	} 
      	//捕获加载驱动程序异常
      	catch ( ClassNotFoundException cnfex ) 
      	{ 
        	System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
        	cnfex.printStackTrace(); 
         	System.exit( 1 );  // terminate program 
      	} 
      	//捕获连接数据库异常
      	catch ( SQLException sqlex ) 
      	{ 
         	System.err.println( "无法连接数据库" ); 
         	sqlex.printStackTrace(); 
         	System.exit( 1 );  // terminate program 
      	} 
               
        submitQuery = new JButton( "查  询" );
        submitQuery.setPreferredSize(new Dimension(120, 25));
    	submitQuery.addActionListener( 
         new ActionListener() 
         { 
            public void actionPerformed( ActionEvent e ) 
            { 
               	getTable();
            } 
         }   
        ); 
        cancelQuery = new JButton( "返  回" );
        cancelQuery.setPreferredSize(new Dimension(120, 25));
    	cancelQuery.addActionListener( 
         new ActionListener() 
         { 
            public void actionPerformed( ActionEvent e ) 
            { 
               	setVisible(false);
               	dispose();
            } 
         }   
        ); 
        GridBagConstraints constraints = new GridBagConstraints();
        课程号 = new JTextField();
        课程号.setPreferredSize(new Dimension(120, 25));
        labelPanel = new JPanel();
		labelPanel.setLayout( new GridBagLayout());
		constraints.weightx = 100;
        constraints.weighty = 100;
        constraints.gridx = 0;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(new JLabel( labels), constraints);
        constraints.gridx =1;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(课程号, constraints);
        constraints.gridx =2;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(submitQuery, constraints);
        constraints.gridx =3;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(cancelQuery, constraints);
 		table = new JTable(); 
		commoditytable = new JTable();
		JScrollPane scroller = new JScrollPane(); 
		//scroller.setLayout( new BorderLayout() );
		scroller.setPreferredSize(new Dimension(100, 50));
        //scroller.setSize(800, 20);
        JScrollPane commodityscroller = new JScrollPane( commoditytable ); 
		tablePanel = new JPanel();
		tablePanel.setLayout( new BorderLayout() );
		tablePanel.setPreferredSize(new Dimension(100, 20));
		tablePanel.setBorder(BorderFactory.createEtchedBorder());
 		tablePanel.add( scroller ,BorderLayout.CENTER);
 		tablePanel.add( commodityscroller ,BorderLayout.SOUTH);
 		Container c = getContentPane(); 
      	setTitle("学生选课查询窗口");
      	c.setLayout( new BorderLayout()); 
      	//将"topPanel"编辑框布置到 "NORTH"
      	c.add( labelPanel ,BorderLayout.NORTH);
      	c.add( tablePanel ,BorderLayout.CENTER);
      	//c.add( commoditytable ,BorderLayout.SOUTH);
      	getTable(); 
      	setSize( 500, 300 );
      	//setResizable(false);
      	setLocation(200,100);
      	//show(); 
    }
    
    private void getTable() 
   { 
         try { 
      	 //执行SQL语句
      	 String commodityquery;
     	 if (课程号.getText().equals( "" ) )
      	 {
      	 	commodityquery = "SELECT * FROM 课程信息表";//列出所有的课程信息
         	
         }
         else 
         {   	 
         	commodityquery = "SELECT * FROM 课程信息表 WHERE 课程号="+
         	 				  课程号.getText()+"";//列出查询的课程信息
         }
         commoditystatement = queryconnection.createStatement(); 
         commodityresultSet = commoditystatement.executeQuery( commodityquery );       
         //在表格中显示查询结果
         displayResultSet( commodityresultSet);
      } 
      catch ( SQLException sqlex ) { 
         sqlex.printStackTrace(); 
      } 
   }  	
   
   private void displayResultSet( ResultSet commodityrs )throws SQLException 
   { 
      //定位到达第一条记录
     boolean commoditymoreRecords = commodityrs.next();
      //如果没有记录,则提示一条消息
     if ( ! commoditymoreRecords ) 
      { 
         JOptionPane.showMessageDialog( this,"无此学生选课记录" ); 
         //setTitle( "无记录显示" ); 
      } 
      Vector commoditycolumnHeads = new Vector(); 
      Vector commodityrows = new Vector(); 
      try
      {
      	 ResultSetMetaData commodityrsmd = commodityrs.getMetaData(); 
        //在表格中显示查询结果
         table = new JTable( commodityrows, commoditycolumnHeads ); 
         JScrollPane scroller = new JScrollPane( table ); 
         scroller.setPreferredSize(new Dimension(500, 50));
         Container c = getContentPane(); 
         c.remove(1); 
     	 tablePanel = new JPanel();
     	 tablePanel.setLayout( new BorderLayout() );
         tablePanel.add( scroller, BorderLayout.NORTH ); 
        if( commoditymoreRecords)
         {
         	for ( int i = 1; i <= commodityrsmd.getColumnCount(); ++i )
         	{ 
         	   commoditycolumnHeads.addElement( commodityrsmd.getColumnName( i ) ); 
         	}
         	 do 
         	{ 
           	 commodityrows.addElement( getNextRow( commodityrs, commodityrsmd ) ); 
         	} while ( commodityrs.next() ); 
         	
         	commoditytable = new JTable( commodityrows, commoditycolumnHeads );
         	JScrollPane commodityscroller = new JScrollPane( commoditytable );
         	commodityscroller.setPreferredSize(new Dimension(500, 200));
            tablePanel.add( commodityscroller, BorderLayout.CENTER );
         }
         else
         {
         	for ( int i = 1; i <= commodityrsmd.getColumnCount(); ++i )
         	{ 
         	   commoditycolumnHeads.addElement( commodityrsmd.getColumnName( i ) ); 
         	}
         	commoditytable = new JTable(6,0);
         	JScrollPane commodityscroller = new JScrollPane();
         	commodityscroller.setPreferredSize(new Dimension(500, 200));
         	tablePanel.add( commodityscroller, BorderLayout.CENTER );
         }
         c.add(tablePanel,BorderLayout.CENTER);
         //刷新Table
         c.validate(); 
      } 
      catch ( SQLException sqlex )
	  { 
         sqlex.printStackTrace(); 
      } 
   } 
   
  
   private Vector getNextRow( ResultSet rs, 
                              ResultSetMetaData rsmd ) 
       throws SQLException 
   { 
      Vector currentRow = new Vector(); 
      for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) 
         currentRow.addElement( rs.getString( i ) ); 
      //返回一条记录   
      return currentRow; 
   } 
}

⌨️ 快捷键说明

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