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

📄 class_query.java

📁 课程设计-学生成绩管理系统
💻 JAVA
字号:
import java.awt.*;
import java.sql.*;
import java.util.*;  
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.sql.PreparedStatement;
import javax.swing.*;
public class Class_query extends JFrame implements ActionListener
{
	Connection connection;     
	Statement statement;     
	ResultSet resultSet;     
	ResultSetMetaData rsMetaData; 
	
	GridBagLayout gbl=new GridBagLayout();
    GridBagConstraints gbc=new GridBagConstraints();

	JTable table;   
	JLabel tiaojian;
	JTextField tf_tiaojian;
	JButton chaxun,fanhui,dayin;
	JLabel xuehao,kehao,fenshu;
	JTextField tf_xuehao,tf_kehao,tf_fenshu;
	//JButton xiugai,shanchu,tianjia;
	JPanel topanel;
	
	String query,shuru;

	public Class_query()
	{
		super.setSize(800,400);
		super.setLocation(180,80);
		String url="jdbc:odbc:StudentScore";     
	    String username="sa";     
	    String password=""; 
	  
	    topanel=new JPanel();
	    tiaojian=new JLabel("请输入班级号:");
	    tf_tiaojian=new JTextField(5);
	   // xuehao=new JLabel("学号");
	    //kehao=new JLabel("课号");
	    //fenshu=new JLabel("分数");
	    //tf_xuehao=new JTextField(5);
	    //tf_kehao=new JTextField(5);
	    //tf_fenshu=new JTextField(5);
	    chaxun=new JButton("查询");
	    chaxun.addActionListener(this);
	    dayin=new JButton("打印");
	    dayin.addActionListener(this);
	    fanhui=new JButton("返回");
	    fanhui.addActionListener(this);
	    //tianjia=new JButton("添加");
	    //tianjia.addActionListener(this);
	    //xiugai=new JButton("修改");
	    //xiugai.addActionListener(this);
	    //shanchu=new JButton("删除");
	    //shanchu.addActionListener(this);
	    set(0,0,1,1,topanel,tiaojian);set(1,0,1,1,topanel,tf_tiaojian);set(2,0,1,1,topanel,chaxun);set(3,0,1,1,topanel,dayin);set(4,0,1,1,topanel,fanhui);
	    //set(0,1,1,1,topanel,xuehao);set(1,1,1,1,topanel,tf_xuehao);set(2,1,1,1,topanel,kehao);set(3,1,1,1,topanel,tf_kehao);set(4,1,1,1,topanel,fenshu);set(5,1,1,1,topanel,tf_fenshu);
	    //set(2,3,1,1,topanel,tianjia);set(32,3,1,1,topanel,xiugai);set(4,3,1,1,topanel,shanchu);
	    try 
	    {         
	    	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");     
	        connection=DriverManager.getConnection(url,username,password);     
	    }     
	    catch(ClassNotFoundException cnfex)  
	    {  
	    	System.err.println( "装载JDBC/ODBC驱动程序失败。");     
	        //cnfex.printStackTrace();     
	        System.exit(1);    
	    }     
	    catch(SQLException sqlex)  
	    {
	    	System.err.println("无法连接数据库");     
	        //sqlex.printStackTrace();     
	        System.exit(1);
	    }   
	    table=new JTable();     
	    Container c=getContentPane();       
	    c.add(topanel,BorderLayout.NORTH);     
	    c.add(table,BorderLayout.CENTER);  
	    String _query="select * from score";
	    getTable(_query);  
	  }  
	public void set(int x,int y,int w,int h,JPanel com,Component zujian)
    {
   	 gbc.anchor=GridBagConstraints.NORTH;
   	 gbc.gridx=x;
   	 gbc.gridy=y;
   	 gbc.gridwidth=w;
   	 gbc.gridheight=h;
   	 gbl.setConstraints(com, gbc);
   	 com.add(zujian);
    }
	 public void actionPerformed(ActionEvent e)
	 { 
		 Object obj=e.getSource();
		 if(obj==chaxun)
		 {
			shuru=tf_tiaojian.getText().trim();
			if(shuru.length()==0)
			{
				JOptionPane.showMessageDialog(this, "请输入班级号", "错误",JOptionPane.ERROR_MESSAGE);
			}
			else
			{
				query="select * from score where student_no in(select student_no from student where student_class="+shuru+")";
			    getTable(query);
			}
		 }
		 if(obj==dayin)
		 {
			 JOptionPane.showMessageDialog(this, "找不到打印机", "错误",JOptionPane.ERROR_MESSAGE);
		 }
		 if(obj==fanhui)
		 {
			 this.dispose();
			 Admin_manage admin=new Admin_manage();
			 admin.setVisible(true);
		 }
	 }
	 private void getTable(String query)
	 {
		 try
		 {    
			 statement =connection.createStatement();     
			 resultSet=statement.executeQuery(query);
			 displayResultSet(resultSet); 
		 }
		 catch(SQLException sqlex)  
		 {   
			 //sqlex.printStackTrace();         
	     }  
	 }
	 private void displayResultSet(ResultSet rs) throws SQLException
	 {
		 boolean moreRecords=rs.next();
		 if(!moreRecords)
		 {
			 JOptionPane.showMessageDialog(this,"结果集中无记录");     
			 setTitle("无记录显示");     
			 return; 
		 }
		 Vector columnHeads=new Vector();     
		 Vector rows=new Vector();
	     try
	     {
	    	 ResultSetMetaData rsmd=rs.getMetaData();
	    	 for(int i=1;i<=rsmd.getColumnCount();++i)      
	    		  columnHeads.addElement(rsmd.getColumnName(i));  
	    	 do{     
	    		 rows.addElement(getNextRow(rs,rsmd));     
	    	   } while(rs.next());  
	    	 table=new JTable(rows,columnHeads);     
	    	 JScrollPane scroller=new JScrollPane(table);     
	    	Container c=getContentPane();     
	    	 c.remove(1);   
	    	 c.add(scroller,BorderLayout.CENTER);       
	    	  //刷新Table   
	    	 c.validate(); 
	     }
	     catch(SQLException  sql)
	     {
	    	 //sql.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;     	    
	 }     
	 public void   shutDown()      
	 {     
	  try   
	  {       
	  //断开数据库连接      
	     connection.close();     
	  }       
	  catch(SQLException sqlex)   
	  {  
		  System.err.println(   "Unable   to   disconnect"   );     
	      //sqlex.printStackTrace();       
	  }     
	    
     }     
	public static void main(String[] args)
	{
		Class_query xian=new Class_query();
		xian.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		xian.setVisible(true);
	}

}

⌨️ 快捷键说明

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