4.28每日总结

发布时间 2023-04-28 22:06:47作者: 漏网鲨鱼
/* submit assignment Dim Query
     * 提交作业信息模糊查询,输入序号,名称,截止时间,所属课程id,所属老师id,文字信息中的一项或多项,实现模糊查询,6项都不输入则为全部显示
     * 输入参数:序号id(String),学生学号student_id(String),时间time(String),所属发布作业id pu_ass_id(String),文字信息content(String)
     * 返回参数类型为 Pd_stu[] ,储存所有符合条件的 Pd_stu
     * */
    public Pd_S_assignment[] S_assignment_DimQuery(String id,String student_id,String time,String pu_ass_id,String content,String state,String pu_name,String lesson_name,String student_name) throws Exception
    {
        if(!(pu_name!=null)) pu_name="";
        if(!(lesson_name!=null)) lesson_name="";
        if(!(student_name!=null)) student_name="";

        String sql="select as_id from submit_assignment where as_id like ? and as_student_id like ? and as_time like ? and as_pu_ass_id like ? and as_content like ? and as_score like ?" +
                " and as_pu_name like ? and as_lesson_name like ? and as_student_name like ?";
        PreparedStatement pre = connect.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
        pre.setString(1,"%"+id+"%");
        pre.setString(2,"%"+student_id+"%");
        pre.setString(3,"%"+time+"%");
        pre.setString(4,"%"+pu_ass_id+"%");
        pre.setString(5,"%"+content+"%");
        pre.setString(6,"%"+state+"%");
        pre.setString(7,"%"+pu_name+"%");
        pre.setString(8,"%"+lesson_name+"%");
        pre.setString(9,"%"+student_name+"%");
        ResultSet rs = pre.executeQuery();
        rs.last();
        int rowCount=rs.getRow();
        rs.beforeFirst();
        Pd_S_assignment[] pdStus = new Pd_S_assignment[rowCount];
        int i=0;
        while(rs.next())
        {
            pdStus[i]=S_assignment_query(rs.getInt(1)+"");
            i++;
        }
        pre.close();
        return pdStus;
    }

    /* publish assignment modify
     * 发布作业修改,将发布作业信息在数据库中修改
     * 输入参数为:Pd_P_assignment信息,其中包含所有publish assignment信息,
     * 包括String id,String name,String time_deadline,String lesson_id,String teacher_id,String content,Blob file
     * 若有此序号信息修改成功,则返回true,若此序号未有记录,则返回false
     * */
    private boolean P_assignment_modify(Pd_P_assignment pdd) throws Exception
    {
        if(P_assignment_query(pdd.getId()+"")!=null)
        {
            String sql = "update publish_assignment set as_name=?,as_time_deadline=?,as_lesson_id=?,as_teacher_id=?,as_content=?,as_file=? where as_id=?";
            PreparedStatement pre = connect.prepareStatement(sql);
            pre.setString(1, pdd.getName());
            pre.setString(2, pdd.getTime_deadline());
            pre.setString(3, pdd.getLesson_id());
            pre.setString(4, pdd.getTeacher_id());
            pre.setString(5, pdd.getContent());
            pre.setBlob(6, pdd.getFile());
            pre.setString(7, pdd.getId()+"");
            int count = pre.executeUpdate();
            pre.close();
            return true;
        }
        else
        {
            return false;
        }
    }

    /* submit assignment modify
     * 提交作业修改,将提交作业信息在数据库中修改
     * 输入参数为:Pd_S_assignment信息,其中包含所有submit assignment信息,
     * 包括int id,String student_id,String time, String pu_ass_id,String content,Blob file,String state
     * 若有此序号信息修改成功,则返回true,若此序号未有记录,则返回false
     * */
    private boolean S_assignment_modify(Pd_S_assignment pdd) throws Exception
    {
        if(S_assignment_query(pdd.getId()+"")!=null)
        {
            String sql = "update submit_assignment set as_student_id=?,as_time=?,as_pu_ass_id=?,as_content=?,as_file=?,as_state=?,as_score=? where as_id=?";
            PreparedStatement pre = connect.prepareStatement(sql);
            pre.setString(1, pdd.getStudent_id());
            pre.setString(2, pdd.getTime());
            pre.setString(3, pdd.getPu_ass_id());
            pre.setString(4, pdd.getContent());
            pre.setBlob(5, pdd.getFile());
            pre.setString(6, pdd.getState());
            pre.setInt(7, pdd.getScore());
            pre.setString(8, pdd.getId()+"");
            int count = pre.executeUpdate();
            pre.close();
            return true;
        }
        else
        {
            return false;
        }
    }