本文主要是介绍普通填报表 只对用户修改行更新创建人编号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
具体需求:
普通填报表 要求页面上修改了那行数据,那么就将从外部接收到的创建人编号 更新到数据库中对应修改行的指定字段中
难点:
如果在 update 中直接指定修改 会将所有记录均修改,脚本如下:
A1.update@uk(employee:employee_old, 员工表, 编号, 部门, 姓名:aa, 性别, 出生日期, 入职日期, 籍贯, 工资; 编号)
这样就与客户想要实现的效果不太一样。
解决思路:
在执行 update 前 对要更新的数据提前处理,大致思路是通过对比新旧对象的记录来实现,如果新旧对象不同,则在新对象中保留不同的记录供后面更新使用,如果新旧对象一致则不参与执行更新,以此达到客户想要的部分更新效果
以填报教程示例 2.1.sht 为例 数据来源脚本不做任何修改,数据去向脚本修改如下:
脚本部分注释:
B1 C1 指明新旧对象参与比较的字段名称;
2-3 行 使用 for 循环 对比新旧对象记录并从 employee 中删除新旧对象中相同的记录
A5 中 aa 为模拟外部传入的创建人 showInput.jsp 定义如下:
按照如上操作即可实现部分更新
修改前展现效果
修改后未提交展现效果
提交更新后展现效果
通过上述效果可以看到仅将修改行的姓名更换为了创建人编号
这篇关于普通填报表 只对用户修改行更新创建人编号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!