• 普通填报表 只对用户修改行更新创建人编号


    具体需求:
    普通填报表  要求页面上修改了那行数据,那么就将从外部接收到的创建人编号 更新到数据库中对应修改行的指定字段中

    难点:
    如果在 update 中直接指定修改  会将所有记录均修改,脚本如下:

    A1.update@uk(employee:employee_old, 员工表, 编号, 部门, 姓名:aa, 性别, 出生日期, 入职日期, 籍贯, 工资; 编号)
    这样就与客户想要实现的效果不太一样。

    解决思路:
    在执行 update 前  对要更新的数据提前处理,大致思路是通过对比新旧对象的记录来实现,如果新旧对象不同,则在新对象中保留不同的记录供后面更新使用,如果新旧对象一致则不参与执行更新,以此达到客户想要的部分更新效果

    以填报教程示例 2.1.sht 为例    数据来源脚本不做任何修改,数据去向脚本修改如下:

    脚本部分注释:
    B1  C1 指明新旧对象参与比较的字段名称;
    2-3 行  使用 for 循环  对比新旧对象记录并从 employee 中删除新旧对象中相同的记录
    A5 中 aa 为模拟外部传入的创建人  showInput.jsp 定义如下:

    按照如上操作即可实现部分更新

    修改前展现效果

    修改后未提交展现效果

    提交更新后展现效果

    通过上述效果可以看到仅将修改行的姓名更换为了创建人编号

  • 相关阅读:
    剑指OFFER 滑动窗口的最大值
    剑指OFFER 正则表达式匹配
    linux动态链接库的使用
    剑指OFFER 序列化二叉树
    剑指OFFER 数字在排序数组中出现的次数
    剑指OFFER 数组中的逆序对
    剑指OFFER 反转链表
    剑指OFFER 二叉树的深度
    剑指OFFER 矩形覆盖
    网络相关的命令工具-iptables
  • 原文地址:https://www.cnblogs.com/IBelieve002/p/12082656.html
Copyright © 2020-2023  润新知