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

📄 queryscore.java

📁 一个毕业设计的Java学生成绩管理系统
💻 JAVA
字号:
package scoremis;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class QueryScore extends JFrame
{
    String kc,bj,xq,sql
    JPanel p=new JPanel();     //初始化各个组件
    JLabel l1=new JLabel("课程");
    JComboBox course=new JComboBox();
    JLabel l2=new JLabel("班级");
    JComboBox tgreade=new JComboBox();
    JLabel l3=new JLabel("学期");
    JComboBox term=new JComboBox();
    JButton sure=new JButton("查询");
    JButton quxian=new JButton(" 查看成绩分布");
    ResultSet rs=null;
    Vector tempvector=new Vector(1,1);//设置表格
    DefaultTableModel model=new DefaultTableModel();
    JTable dbtable=new JTabel(model);
    JScrollPane jScrollPanel=new JScrollPane(dbtable);
    String tname,psd,sf;
    public QueryScore(String name,String psd,String sf)//该类的构造方法
       {
          try
           {
             tname=name;
             this.psd=psd;
             this.sf=sf;
             jbInit();
           }
         catch(Exception exception)
           {
             exception.printStackTrace(); 
           }
       }
   private void jbInit() throws Exception
      {
        setLayout(new BorderLayout());     //设置布局管理器的布局方式微表格布局
        p.add(l1);                         //在面板中添加各个组件
        p.add(course);
        p.add(l2);
        p.add(tgreade);
        p.add(l3);
        p.add(term);
        p.add(sure);
        p.add(quxian);
        add(p,"North");
        model.addColumn("学号");        //在表格中添加各个列名
        model.addColumn("姓名");
        model.addColumn("成绩");
        add(jScrollPanel,"Center");
        sure.addActionListener(new  chaxun());     //分别给"查询","查看成绩分布"按钮添加监视器
        quxian.addActionListener(new chaxun());
        quxian.setEnabled(false);
        course.addItem("请选择课程");
        course.addActionListener(new cquery());
        tgreade.addItem("请选择班级");
        term.addItem("请选择学期");
        
        if(sf.equals("教师"))           //如果是教师,给课程添加项目
          {
            sql="select distinct T_C.cname from T_C,teacher where teacher.name='"+tname+"' and teacher.ID=T_C.tID";
          }
        else
          {
           sql="select distinct T_C.cname from T_C";
          }
        try
          {
             dbconn db=new dbconn();//执行相应的sql语句
               rs=db.Query(sql);
               
              while(rs.next())
               {
                  course.addItem(rs.getString(1));
               }
          }
         catch(Exception er)
          {
            System.out.println(er.toString())
          }
      }
class cquery implements ActionListener//给班级和学期添加项目
   {
       public void actionPerformed(ActionEvent e)
         {
            dbconn db=new dbconn();
            if(e.getSource()==course)
              {
                kc=(String) course.getSelectedItem();
                 if(sf.equals("教师"))
                   {
                    sql="select T_C.Cgreade from T_C,teacher where teacher.name='"+tname+"' and teacher.ID=T_C.tID and T_C.cname='"+kc+"'";
                   }
                else 
                   {
                     sql="select T_C.Cgreade from T_C";
                   }
                try
                   {
                      tgreade.removeAllItems();
                      tgreade.addItem("请选择班级");
                      rs=db.Query(sql);
                     while(rs.next())
                        {
                           tgreade.addItem(rs.getString(1));
                        }
                       sql="select distinct Term from T_c where cname='"+kc+"'";
                       term.removeAllItems();
                       term.addItem("请选择学期");
                       rs=db.Query(sql);
                      while(rs.next())
                        {
                       term.addItem(rs.getString(1));
                        }
                   }
                catch(Exception e2)
                   {
                     System.out.println(e2.toString());
                   }
              }
         }
   }
class chaxun implements ActionListener    //事件处理类
   {
     public void actionPerformed(ActionEvent e)
        {
          dbconn db=new dbconn();
          kc=(String) course.getSelectedItem();
          bj=(String) tgreade.getSelectedItem();
          xq=(String) term.getSelectedItem();
          
            if(e.getSource()==sure)
               {
                 sql="select SID,Sname,score from S_C where Tgreade='"+ bj +"' and Cname='"+ kc +"' and Term='"+ xq +"'";
                  try            //删除表格中原有的数据
                    {
                       int j=model.getRowCount();
                       if(j>0)
                         {
                           for(int i=0;i<j;i++)
                             model.removeRow(0);
                         }
                        rs=db.Query(sql);//从数据库中查询相应的数据
                        int i=0;
                      while(rs.next())
                         {
                           tempvector=new Vector(1,1);
                           tempvector.add(rs.getString(2));
                           tempvector.add(rs.getString(1));
                           tempvector.add(rs.getFloat(3));
                           model.addRow(tempvector);
                           i++;
                         }
                      if(i==0)
                          JOptionPane.showMessageDialog(null,"没有录入该们课程的成绩");
 
                      else
                          quxian.setEnabled(true);
                          dbtable.setEnabled(false);//设置表格中的数据设置为不能修改状态

                    }
                  catch(Exception e2)
                    {
                     System.out.println(e2.toString());
                    }          



               }
           else if(e.getSource()==quxian)//对"查询成绩分布"按钮进行处理
               {
                    String k=kc;
                    String b=bj;
                    JFrame f=new JFrame();
                    Toolkit tk=new Toolkit.getDefaultToolkit();
                    Dimension sSize=tk.getScreenSize();
                    int sh=sSize.height;
                    int sw=sSize.width;
                    f.setSize(sw/2,sh/2);
                    f.setLocation(sw/4,sh/4);
                    drawTu d=new drawTu(k,b);//构造函数,用于调用类drawTu
                    f.add(d);
                    f.setVisible(true);
                    

               }
        }
   }
}

⌨️ 快捷键说明

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