首页 > 其他分享 >软件工程日报——实现了换班的功能

软件工程日报——实现了换班的功能

时间:2023-05-22 20:24:40浏览次数:37  
标签:pr String rs 日报 换班 setString schedule 软件工程

今天我在课上终于实现了排班换班的功能

我一开始的思路是通过一个mysql语句来直接实现数据表中两行数据的调换,但是在经过两天的尝试下,这个方案被我放弃了,因为我的数据表和语句的问题,sql语句交换行数据的操作在我的数据表中并不能实现,于是今天我尝试换了另外一种思路,我试着利用两条sql语句先获取数据,再进行数据更近的方式来进行转换,在尝试修改完各种数据后,成功实现了这个功能

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.SQLException" %><%--
  Created by IntelliJ IDEA.
  User: JC
  Date: 2023/5/15
  Time: 17:14
  To change this template use File | Settings | File Templates.
--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<jsp:useBean id="util" class="test.scheduling" scope="page" />
<%
   String id1=(String) session.getAttribute("id");
    String id2=(String)request.getParameter("m");
    if (id1.equals(id2))
    {
        out.print("<script language='javaScript'> alert('数据错误');</script>");
        response.setHeader("refresh", "0;url=schedule.jsp");
    }
else {
        Connection connection = util.getConnection();
        String a = null;
        String b = null;
        PreparedStatement preparedStatement = null;
        PreparedStatement pr = null;
        ResultSet rs = null;

        try {
            String sql = "select * from schedule ";
            preparedStatement = connection.prepareStatement(sql);
            rs = preparedStatement.executeQuery();
            while (rs.next()) {
                String s1 = rs.getObject(1).toString();
                if (s1.equals(id1)) {

                    a = rs.getObject(2).toString();

                }
                if (s1.equals(id2)) {

                    b = rs.getObject(2).toString();
                }
            }

            String sql1 = "UPDATE schedule\n" +
                    "set e_id = CASE\n" +
                    "    WHEN id = ? THEN ?\n" +
                    "    WHEN id = ? THEN ?\n" +
                    "    ELSE e_id\n" +
                    "END\n" +
                    "WHERE id IN (?, ?);";
            pr = connection.prepareStatement(sql1);
            pr.setString(1, id1);
            pr.setString(2, b);
            pr.setString(3, id2);
            pr.setString(4, a);
            pr.setString(5, id1);
            pr.setString(6, id2);
            int count = pr.executeUpdate();
            if (count > 0) {
                out.print("<script language='javaScript'> alert('换班成功');</script>");
                response.setHeader("refresh", "0;url=schedule.jsp");
            } else {
                out.print("<script language='javaScript'> alert('换班失败');</script>");
                response.setHeader("refresh", "0;url=schedule.jsp");
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            util.close(rs);
            util.close(preparedStatement);
            util.close(connection);
        }

        out.print("<script language='javaScript'> alert('换班成功');</script>");
        response.setHeader("refresh", "0;url=schedule.jsp");
    }
        %>
</body>
</html>

实现效果如下

换班前

 换班后

 

标签:pr,String,rs,日报,换班,setString,schedule,软件工程
From: https://www.cnblogs.com/jiacheng-712/p/17421627.html

相关文章

  • 2023.5.21——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午参观君乐宝企业,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 【细说软件工程】《软件工程》Software Engineering
    《软件工程》60’一.、软件过程1、软件过程的概念答:1)**软件过程描述为为了开发出客户需要的软件,什么人、在什么时候、做什么事以及怎么做这些事以实现某一种的具体目标。**ISO9000把过程定义为:“使用资源将输入转化为输出的活动所构成的系统”。(《软件工程导论》p14)2)过程定义了运用......
  • 2023.5.20——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午参观君乐宝企业,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 2023.5.19——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 今日报告-84
     今日打卡所花时间(包括上课):2h代码量(行):50发表博客:1篇(不包括本篇)学习进度和了解到的知识点:今天初步学习了AJAX的一些知识,并使用了一些基础的代码,实现了一个弹出框效果。......
  • 软件工程日报——第二次冲刺2
    昨天我对换班操作进行了分析,确定了换班的逻辑思路今天我继续进行了换班的操作,我目前完成了两个员工之间的换班操作,利用sql语句来进行交换遇到的问题:没有调试好sql语句来交换两行的数据,会出现员工交换不了的情况......
  • 软件工程快速入门
    什么是SDLC?软件开发生命周期(SDLCSoftwareDevelopmentLifecycle)是构建软件的系统过程,可确保构建软件的质量和正确性。SDLC流程旨在生产满足客户期望的高质量软件。软件开发应在预定义的时间范围和成本内完成。SDLC包含详细的计划,解释如何规划,构建和维护特定的软件。SDLC生......
  • 软件测试03:软件工程和软件生命周期(未完全)
    软件测试03:软件工程和软件生命周期软件危机软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件工程基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科......
  • Oracle数据库生成AWR日报的方法
    1.打开pl/sql命令行2.打开awrrpt.sql文件 3.选择文件类型4.输入天数 5.选择开始时间 6.选择结束时间7.输入日报名字,一般为了方便,我输入的是月份日期 8.打开awr日报所在位置,并修改格式为html  ......
  • 2023.5.18——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......