返回顶部
首页 > 资讯 > 精选 >数据修改时如何留痕
  • 951
分享到

数据修改时如何留痕

2023-06-02 20:06:29 951人浏览 八月长安
摘要

【摘要】在食品生产安全中现在提倡产地的可追溯性,同样在数据安全方面同样有相应的要求,要记录什么人对哪些数据做了修改操作,这样就要求业务人员录入、修改数据时能够将该人员信息一同保存下来,方便数据的可追溯,点击数据填报修改时如何增加操作人员信息

【摘要】

在食品生产安全中现在提倡产地的可追溯性,同样在数据安全方面同样有相应的要求,要记录什么人对哪些数据做了修改操作,这样就要求业务人员录入、修改数据时能够将该人员信息一同保存下来,方便数据的可追溯,点击数据填报修改时如何增加操作人员信息查看具体方法

需求描述:

用户在页面端修改数据时为保证数据的可追溯性,可以在数据表中增加修改人字段,用于保存修改人的信息,追溯数据的有效性。下面就介绍一下如何实现这个需求。

解决方案

一:填报表制作

按照用户的需求制作填报表,如“订单信息表”:

新建填报表,新增参数:userid,用于接收系统传进来的用户信息。

在“数据处理”对话框中把“数据来源”设置为使用“脚本”方式,如图:

数据修改时如何留痕

在“数据处理”对话框中把“数据去向”也设置为使用“脚本”,如图:

数据修改时如何留痕

注意:B2 中 EDITUSER 字段为数据库中的修改人字段,将其赋值为 userid,表示更新时将参数 userid 的值保存到对应字段中。

制作填报表,如下图:

数据修改时如何留痕

A3 设置单元格类型为维度格,表达式为 =dd.(DDID),dd 为数据来源中定义的数据对象名称,此单元格取表中 DDID 的值,字段名称中设置 dd.DDID。

B3~E3 单元格类型设置成数值格,用于填写信息,按照填报表取字段名称规则,B3 单元格默认取其上方单元格为字段名称,由于数据库中存储的是英文字段名“KHID”,和 B2 中的“客户编号”不一致,所以为取出正确数据,在 B3 单元格的字段名称中设置“KHID”,指定单元格字段名称,其余类似。

按照客户样式要求调整报表样式,并保存报表即可。

发布报表并设置参数传递

在浏览器中访问该报表,并且在 url 中将用户编号传递给参数 userid,如:Http://localhost:6868/demo/reportjsp/showInput.jsp?sht=ddxx.sht&userid=zhangsan

参数可以在 url 中传递,为保证其安全性,用户信息可能存在 session 中,那么在 showInput.jsp 中获取 session 中的用户信息,并传递给报表标签的 params 标签即可,传递格式:参数名称 = 参数值。

报表展现后,格式如下:

数据修改时如何留痕

页面端修改数据保存后,去数据库端查看数据发现,EDITUSER 字段数据为传入的用户信息,如下图:

数据修改时如何留痕

发现问题

实际使用中发现,用户可能只修改了某几条记录,但是数据库中的 EDITUSER 字段的所有数据都会发生变化,而用户需求肯定是只更改该用户修改的数据。

问题原因及解决办法:

前面更新数据采用的是集算脚本中的 update 函数,该函数处理时会根据新旧对象数据进行判断,从而判定处理时是 update、insert 还是 delete 操作。因此解决办法就是在新旧对象中删除没有修改的数据即可,下面是更改后的数据去向脚本:

数据修改时如何留痕

B1 中通过 join 函数将两个对象关联在一起,此时关联字段是对象中的所有字段,这样可以找到没有修改的数据。

C1 中取出两个对象中所有数据相同 (没有修改的) 的主键字段

A2、B2 中分别从两个对象中根据 C1 的值过滤出没有修改的数据

A3、B3 删除没有修改的数据,这样两个对象中的数据均为用户页面端修改后的数据,再执行 update 操作即可。数据库中数据如下:

数据修改时如何留痕

可见,只有页面端修改的数据 EDITUSER 字段的值会发生变化,其余不变,这样就可以定位到具体哪些数据被哪些人做了修改。

总结

本例中通过在脚本中对填报对象的数据进行修改,做到了在相应数据表中更新最后修改人字段,并且能精确到他修改的数据。实际应用中也可以增加最后修改时间等,或者在脚本中做更复杂的业务处理。


详情链接:http://c.raqsoft.com.cn/article/1540825011256

--结束END--

本文标题: 数据修改时如何留痕

本文链接: https://www.lsjlt.com/news/231188.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数据修改时如何留痕
    【摘要】在食品生产安全中现在提倡产地的可追溯性,同样在数据安全方面同样有相应的要求,要记录什么人对哪些数据做了修改操作,这样就要求业务人员录入、修改数据时能够将该人员信息一同保存下来,方便数据的可追溯,点击数据填报修改时如何增加操作人员信息...
    99+
    2023-06-02
  • 如何在 Git Pull 时保留本地修改
    在开发过程中,我们经常需要从远程仓库拉取代码更新。而 Git Pull 命令就是用于从远程仓库拉取代码更新并自动合并到本地仓库的命令。但是,有时候我们在本地对代码进行了修改,此时执行 Git Pull 操作会覆盖本地修改,造成代码丢失的风险...
    99+
    2023-10-22
  • 如何通过PHP代码来修改留言板数据
    随着网络技术的飞速发展,网页留言板已经成为了一个非常方便的交流平台。PHP留言板就是其中一种常见的留言板类型,它结合了PHP脚本语言和MySQL数据库技术。这种留言板非常易于使用和修改,可以满足不同用户的各种需求。在本篇文章中,我们将重点介...
    99+
    2023-05-14
  • mysql修改binlog日志保留时间
    命令行 临时有效,重启mysqld服务后失效; # 查看 show variables like "%expire_logs_days%"; # 设置保留7天 set global expire_logs...
    99+
    2024-04-02
  • navicat如何修改数据
    小编给大家分享一下navicat如何修改数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Navicat for MySQL是一...
    99+
    2024-04-02
  • mongodb如何修改数据
    mongodb中修改数据的方法:1、使用db.collection.update()方法来修改更新集合中已存在满足条件的文档数据;2、使用db.collection.save()方法来修改替换一个已存在的文档数据。具体内容如下:使用upda...
    99+
    2024-04-02
  • laravel如何修改数据
    小编给大家分享一下laravel如何修改数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、利用find方法获取对应的记录,并返回一个对象,语法为“Use...
    99+
    2023-06-26
  • 如何修改php数据
    这篇文章主要介绍了如何修改php数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何修改php数据文章都会有所收获,下面我们一起来看看吧。1.使用SQL查询修改数据首先,您可以使用SQL查询语句修改数据库中的...
    99+
    2023-07-05
  • plsql如何修改数据
    在PL/SQL中,可以使用UPDATE语句来修改数据。UPDATE语句的语法如下: UPDATE table_name SET co...
    99+
    2023-10-27
    plsql
  • sqlserver如何修改数据
    要修改SQL Server中的数据,可以使用UPDATE语句。以下是一个基本的示例: UPDATE 表名 SET 列名1 = 新值1...
    99+
    2024-04-12
    sqlserver
  • mysql如何修改数据
    使用 update 语句修改 mysql 数据,语法为:update table_name set column_name = new_value where conditio...
    99+
    2024-06-15
    mysql
  • Oracle 11goracle修改AWR数据采样时间间隔及历史快照保留时间
    小编给大家分享一下Oracle 11goracle修改AWR数据采样时间间隔及历史快照保留时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去...
    99+
    2024-04-02
  • sqlite数据库如何修改数据
    要修改SQLite数据库中的数据,可以使用UPDATE语句。以下是一个示例: UPDATE table_name SET colum...
    99+
    2024-04-10
    sqlite
  • phpmyadmin如何修改数据表
    这篇文章主要介绍了phpmyadmin如何修改数据表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。phpmyadmin修改数据表的方法很简单...
    99+
    2024-04-02
  • thinkphp如何修改数据库
    这篇文章主要介绍“thinkphp如何修改数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp如何修改数据库”文章能帮助大家解决问题。一、ThinkPHP数据库操作在ThinkPHP...
    99+
    2023-07-05
  • thinkphp3.2中如何修改数据
    这篇文章主要介绍“thinkphp3.2中如何修改数据”,在日常操作中,相信很多人在thinkphp3.2中如何修改数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp3.2中如何修改数据”的疑...
    99+
    2023-07-05
  • 查看和修改awr报告保留时间
    PL/SQL 过程已成功完成。 -- 以上存储过程设置每半小时采样一次,并且保留5天 。 SQL> select * ...
    99+
    2024-04-02
  • sql数据库如何修改表数据
    要修改表数据,可以使用SQL语句中的UPDATE命令。下面是一个示例: UPDATE 表名 SET 列名1 = 新值1, 列名2 =...
    99+
    2024-04-02
  • phpmyadmin如何修改表的数据
    这篇文章给大家分享的是有关phpmyadmin如何修改表的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。phpmyadmin怎么修改表的数据?1、phpmyadmin修改表的...
    99+
    2024-04-02
  • Oracle如何修改压缩数据
    这篇文章将为大家详细讲解有关Oracle如何修改压缩数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们将看到只有在直接路径加载、CTAS(create table a...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作