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

📄 editscore.java

📁 Student management system
💻 JAVA
字号:
package scoremis;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.sql.*;
import java.util.*;
public class EditScore extends JFrame
{
   String kc,bj,xq;
   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 xgai=new JButton("修改");
   JButton tijiao=new JButton("提交");
   ResultSet rs=null;          //设数据集初值为空
   Vector tempvector=new Vector(1,1);//制作表格
   DefaultTableModel model=new DefaultTableModel();
   JTabel dbtable=new JTable(model);
   JScrollPane jScrollPanel=new JScrollPane(dbtable);//为表格添加滚动条
   String tname,psd,sql="";
   public EditScore(String name,String psd)
     {
       try
        {
         tname=name;
         this.psd=psd;
         jbInit();
        }
       catch(Exception exception)
        {exception.printStackTrace();}
     }
   private void jbInit() throws Exception
     {
      p.add(l1);          //在面板中添加各个组件
      p.add(course);
      p.add(l2);
      p.add(tgreade);
      p.add(l3);
      p.add(term);
      p.add(sure);
      p.add(xgai);
      p.add(tijiao);
      add(p,"North");       //在窗体中添加面板
      add(jScrollPanel,"Center");
      sure.addActionListener(new chaxun());//为"查询","修改","提交"按钮添加监视器
      xgai.addActionListener(new chaxun());
      tijiao.addActionListener(new chaxun());
      model.addColumn("学号");//为表格添加各个列并未各个列命名
      model.addColumn("姓名");
      model.addColumn("成绩");
      course.addItem("请选择课程");//为课程,班级,学期选择框添加选项
      tgreade.addItem(" 请选择班级");
      term.addItem("请选择学期");
      sql="select cname,Cgreade from T_C,teacher where T_C.tID=teacher.ID and teacher.name='"+tname+"'";
        try
        {
           dbconn db=new dbconn();//构造并执行sql语句并在"课程","班级"组合框中添加相应选项
           rs=db.Query(sql);
           while(rs.next())
             {
              course.addItem(rs.getString(1));
              tgreade.addItem(rs.getString(2));
             }
           sql="select distinct Term from T_C,teacher where T_C.tId=teacher.ID and teacher.name='"+tname+"'";
           rs=db.Query(sql);//构造并执行sql语句并在选择框中添加相应的选项
           while(rs.next())
             term.addItem(rs.getString(1));

           
        }
       catch(Exception er) 
        {
         System.out.println(er.toString);
        }
        
     }
class chaxun implements ActionListener    //事件处理类
 {
  public void actionPerformed(ActionEvent e)
   {
     dbconn db=new dbconn();//重建与数据库的连接
     kc=(String)course.getSelectedItem();//分别利用字符串变量kc,bj,xq分别存放选择框"课程","班级","学期"中选中的选项
     bj=(String)tgreade.getSelectedItem();
     xq=(String)term.getSelectedItem();
     if(e.getSource()==sure)  //"查询"按钮获得焦点的事件处理
      {
        int j=model.getRowCount();//删除表格中原有数据
        if(j>0)
         {
          for(int i=0;i<j;i++)
            model.removeRow(0);
         }
        sql="select SID,Sname,score from S_C where Tgreade='"+bj+"' and Cname='"+kc+"' and Term='"+xq+"'";
        try
         {
           rs=db.Query(sql);
           int i=0;
           while(rs.next())
             {
               i++;
               tempvector=new Vector(1,1);  //
               tempvector.add(rs.getString(1));
               tempvector.add(rs.getString(2));
               tempvector.add(rs.getFloat(3));
               model.addRow(tempvector);
             }
            if(i==0)
           JOptionPane.showMessageDialog(null,"该门课程成绩没有录入,请录入成绩");
              dbtable.setEnabled(false);
         }
       catch(Exception e2)
         {
            System.out.println(e2.toString);
         }
      }
    else if(e.getSource()==xgai)  //如果"修改"按钮获得焦点的事件处理使表格的可用性置为true
     {
           dbtalbe.setEnabled(true);
     }
    else if(e.getSource()==tijiao)//提交按钮获得焦点的事件处理
     {
        int n=model.getRowCount();//统计表格中数据的行数
        PreparedStatement updatestmt;    //
        sql="update S_C set score=? where SID=? and Term='"+xq+"'";
        try
          {
            if(model.getValueAt(n-1,2)!=null)
             {
               updatestmt=db.conn.prepareStatement(sql);
                for(int i=0;i<n;i++)    //
                  {
                    updatestmt.setString(2,(String) model.getValueAt(i,0));
                    updatestmt.setFloat(1,Float.parseFloat((String)model.getValueAt(i,2)));
                    updatestmt.executeUpdate();
                  }
                JOptionPane.showMessageDialog(null,"修改成功");
             }
          }
       catch(Exception e3)
           {}
          
     }
   }
 }
}

⌨️ 快捷键说明

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