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

📄 student_user.java

📁 利用数据库做了一个小小的学生考试成绩查询管理系统
💻 JAVA
字号:
package classfile;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.io.*;
public class Student_user extends JFrame 
{
	JMenuBar mb=new JMenuBar();
	JMenu m1=new JMenu("查询");
	JMenu m2=new JMenu("排名");
	JMenu m3=new JMenu("统计");
	JMenu m4=new JMenu("退出");
	JMenuItem mbb=new JMenuItem("退出");
	JMenuItem mb1=new JMenuItem("所有课程成绩查询");
	JMenuItem mb2=new JMenuItem("单科成绩查询");
	JMenuItem mb3=new JMenuItem("所有课程成绩排名");
	JMenuItem mb4=new JMenuItem("单科成绩排名");
	JMenuItem mb5=new JMenuItem("平均成绩");
	JMenuItem mb6=new JMenuItem("总成绩");
	JMenuItem mb7=new JMenuItem("总修学分");
	JTextArea txt=new JTextArea(20,10);
	JDialog g1=new JDialog(this,"课程成绩查询");
	JDialog g2=new JDialog(this,"课程成绩排序");
	JTextField txt1=new JTextField("请在此处输入要查询的课程名");
	JTextField txt2=new JTextField("请在此处输入要排序的课程名");
	JButton b1=new JButton("查询");
	JButton b2=new JButton("取消");
	JButton b3=new JButton("排序");
	JButton b4=new JButton("取消");
	public Student_user()
	{
		m1.add(mb1);
		m1.add(mb2);
		m2.add(mb3);
		m2.add(mb4);
		m3.add(mb5);
		m3.add(mb6);
		m3.add(mb7);
		m4.add(mbb);
		mb.add(m1);
		mb.add(m2);
		mb.add(m3);
		mb.add(m4);
		mb.setBackground(Color.red);
		txt.setBackground(Color.yellow);
		txt.setFont(new Font("Dialog",Font.BOLD,24));
		txt.setEditable(false);
		this.setJMenuBar(mb);
		this.add(txt);
		
		g1.setLayout(new FlowLayout());
		g1.setBounds(90,90,500,100);
		g1.setBackground(Color.blue);
		g1.add(txt1);
		g1.add(b1);
		g1.add(b2);
	
		g2.setLayout(new FlowLayout());
		g2.setBounds(90,90,500,100);
		g2.setBackground(Color.BLUE);
		g2.add(txt2);
		g2.add(b3);
		g2.add(b4);
		b1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				query_actionPerformed(e);
			}
		});
		b2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				cancel1_actionPerformed(e);
			}
		});
		b3.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				String s=txt2.getText().trim();
				String cno=cno(s);
				order_actionPerformed(cno);
			}
		});
		
		b4.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				cancel2_actionPerformed(e);
			}
		});
		mb1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				queryAll_actionPerformed(e);
			}
		});
		mb2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				g1.setVisible(true);
			}
		});
		mb3.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				orderAll_actionPerformed(e);
			}
		});
		mb4.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				g2.setVisible(true);
			}
		});
		
		mb5.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				average_actionPerformed(e);
			}
		});
		mb6.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				sum_actionPerformed(e);
			}
		});
		mb7.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				credit_actionPerformed(e);
			}
		});
		mbb.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				Exit();
			}
		});
		this.setBounds(200,200,1000,600);
		this.setVisible(true);
	}
	void Exit()
	{
		this.setVisible(false);
	}
	String cno(String cname)//根据课程名查出课程号
	{
		dataBase db=new dataBase();
		String cno=" ";
		String s="select cno from course where cname='"+cname+"'";
		ResultSet r=db.getResult(s);
		try
		{
			while(r.next())
			{
				cno=r.getString(1);
				return cno;
			}
		}
		catch(SQLException ex)
		{
			System.out.println(ex.getMessage());
			ex.printStackTrace();
			return null;
		}
		return null;
	}
	void query_actionPerformed(ActionEvent e)
	{
		
		String s=txt1.getText();
		String sql="select grade from sc where cno=(select cno from course where cname='"+s+"')and sno='"+Login.name+"'";
		try
		{
			dataBase db=new dataBase();
			ResultSet rs=db.getResult(sql);
		//	if(rs.first())
			//{
				//JOptionPane.showMessageDialog(null,"您没有选该课程");
			//}
			//else
			//{
				txt.append("\n学号	姓名	课程名	成绩\n");
				while(rs.next())
				{
					float grade=rs.getFloat(1);
					txt.append("\n"+Login.name+"	"+Login.name1+"	  "+s+"	  "+grade+"\n");	
				}
			//}
				
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}
	void order_actionPerformed(String cno)
	{
		
		
		String sql="select sno from sc where cno='"+cno+"'order by grade desc";
		dataBase db=new dataBase();
		ResultSet rs=db.getResult(sql);
		try
		{
				int number=1;
				String n=" ";
				while(rs.next())
				{
					n=rs.getString(1);
					if(!n.equals(Login.name))
					{
						number++;
					}
					else
					{
						txt.append("\n"+Login.name1+"	"+cno+"	第"+number+"名");
						break;
					}
						
				}		
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}
	void cancel1_actionPerformed(ActionEvent e)
	{
		g1.setVisible(false);
	}
	void cancel2_actionPerformed(ActionEvent e)
	{
		g2.setVisible(false);
	}
	void queryAll_actionPerformed(ActionEvent e)
	{
		dataBase db=new dataBase();
		dataBase db1=new dataBase();
    	String course[]=new String[10];
    	Float grade[]=new Float[10];
    	Float maxgrade[]=new Float[10];
    	Float mingrade[]=new Float[10];
    	int count[]=new int[10];
    	String sql1,sql2,sql3,sql4;
     	int i=0;
     	sql1="select count(*) from sc where sno="+Login.name;//得出该学生选课的总数
     	try
    	{
    		ResultSet rs=db.getResult(sql1);
    		while(rs.next())
    		{
    			i=rs.getInt(1);
    		}
    		course =new String[i];
    		grade=new Float[i];
			maxgrade=new Float[i];
			mingrade=new Float[i];
			count=new int[i];
    	}
    	catch(SQLException ew)
    	{
    		ew.printStackTrace();
    	}
   		sql2="select cno,cname from course where cno in(select cno from sc where sno="+Login.name+")";	
    	try
    	{
    		ResultSet r=db.getResult(sql2);
    		txt.setText(Login.name1+"您的成绩信息如下");
    		txt.append("\n	课程号	成绩	最高分	最低分	选课人数");
    		while(r.next())
    		{
    			for(int j=0;j<course.length;j++)
    			{
    				course[j]=new String(r.getString(1));
    				txt.append("\n	"+r.getString(2));
    				sql3="select grade from sc where sno='"+Login.name+"'and cno='"+course[j]+"'";
    				sql4="select max(grade),min(grade),count(*) from sc where cno='"+course[j]+"'";
    				ResultSet a=db.getResult(sql3);	
    				ResultSet b=db1.getResult(sql4);	
    				while((a.next())|(b.next()))
    				{
    					grade[j]=new Float(a.getFloat(1));
    					txt.append("	"+grade[j]);
    					maxgrade[j]=new Float(b.getFloat(1));
    					txt.append("	"+maxgrade[j]);
    					mingrade[j]=new Float(b.getFloat(2));
    					txt.append("	"+mingrade[j]);
    					count[j]=new Integer(b.getInt(3));
    					txt.append("	"+count[j]);
    				}	
    				r.next();
    			}
    			txt.append("\n");	
    		}	
    	}
    	catch(SQLException ew)
    	{
    		ew.printStackTrace();
    	}	
    }
    void orderAll_actionPerformed(ActionEvent e)
	{
		String sql="select cno from sc where sno='"+Login.name+"'";
		dataBase db=new dataBase();
		ResultSet rs=db.getResult(sql);
		try
		{
			
			String n=" ";
			while(rs.next())
			{
					n=rs.getString(1);
					sql="select sno from sc where cno='"+n+"'order by grade desc";
					order_actionPerformed(n);
			}
				
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}
	void average_actionPerformed(ActionEvent e)
	{
		String sql="select avg(grade) from sc where sno='"+Login.name+"'";
		dataBase db=new dataBase();
		ResultSet rs=db.getResult(sql);
		try
		{
			while(rs.next())
			{
				txt.append(Login.name1+"的平均成绩是"+rs.getString(1)+"\n");	
			}	
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}
	void sum_actionPerformed(ActionEvent e)
	{
		String sql="select sum(grade) from sc where sno='"+Login.name+"'";
		dataBase db=new dataBase();
		ResultSet rs=db.getResult(sql);
		try
		{
			while(rs.next())
			{
				txt.append(Login.name1+"的总成绩是"+rs.getString(1)+"\n");	
			}	
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}
	void credit_actionPerformed(ActionEvent e)
	{
		String sql="select sum(credit) from sc,course where sno='"+Login.name+"'and sc.cno=course.cno";
		dataBase db=new dataBase();
		ResultSet rs=db.getResult(sql);
		try
		{
			while(rs.next())
			{
				txt.append(Login.name1+"的总修学分是"+rs.getString(1)+"\n");	
			}	
		}
		catch(SQLException ew)
		{
			ew.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

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