广告
返回顶部
首页 > 资讯 > 精选 >如何通过脚本实现数据动态更新
  • 828
分享到

如何通过脚本实现数据动态更新

2023-06-02 18:06:52 828人浏览 独家记忆
摘要

在数据填报的场景中,常常会遇到根据条件动态更新数据的需求,例如:在条件 A 下将页面所有数据插入到数据库表中,而在条件 B 下则将页面中做了修改的数据更新到数据库表中。遇到这种需求,脑海中的第一个想法就是:存储过程更新、或者 java 代码

在数据填报的场景中,常常会遇到根据条件动态更新数据的需求,例如:在条件 A 下将页面所有数据插入到数据库表中,而在条件 B 下则将页面中做了修改的数据更新到数据库表中。

遇到这种需求,脑海中的第一个想法就是:存储过程更新、或者 java 代码更新。不过,这两种实现方式的工作量和后期维护却实在让人头疼不已。那么,还有其他什么实现方式吗?而且最好是能和报表完美整合到一起的那种….

这样的美事儿,还真有!润乾报表提供了脚本模式的填报表制作方式,通过脚本,可以实现你各种天马行空想法。具体怎么操作呢?且听我慢慢道来。

下面我们以动态更新 demo 库中雇员表数据为例,当 type 参数的值为 1 时,将页面中 employee 表的所有数据更新入库;否则只将做了修改的 employee 记录更新入库。操作步骤如下:

第一步  制作行式填报

我们先使用行式填报制作向导制作一个简单的行式填报表,如下图所示:

如何通过脚本实现数据动态更新

【小技巧】

如果对采集规则不熟悉,那么可以对第二行每个单元格设置字段名称:对象. 字段

第二步  定义参数

在填报–参数配置页面中新增需要的参数,本文需要定义 type 参数作为数据更新处理方式判断依据,如下图所示:

如何通过脚本实现数据动态更新

第三步  修改脚本,实现动态更新数据处理

来源脚本为默认生成的脚本:

如何通过脚本实现数据动态更新

其中,

B2 的语句:>EMPLOYEE=A1.query(“SELECT EID,NAME,SURNAME,BIRTHDAY,HIREDATE from EMPLOYEE”)   从 demo 库中查询 employee 表的数据,并将结果写到 employee 对象中

去向脚本修改为如下图所示的内容:

如何通过脚本实现数据动态更新

动态更新数据时,需要用到 if 函数来动态判断,这里着重讲解下 if 的相关配置:

A2:if type==1  // 判断是否满足 type 参数值是 1 的条件

B3:>A1.update@ik(EMPLOYEE, 雇员, 雇员 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE ; 雇员 ID)  // 当满足 if 条件时,将 EMPLOYEE 对象中的数据全部插入到雇员表中,update@i 表示只执行插入更新操作

A4:else  // 不满足条件,type 参数值不是 1

B5:>A1.update@k(EMPLOYEE:EMPLOYEE_old, 雇员, 雇员 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE; 雇员 ID) // 当不满足 if 条件时,将页面中 EMPLOYEE 对象修改了的数据更新到数据库中,当 update 后无其他选项时,表示执行智能更新

【小技巧】

在不确定如何处理数据或者检查计算结果时,我们可以使用 debug()或者 output() 函数输出需要检查的信息,通过观察控制台结果来调试和判断。

【延伸】

类似场景:

1)type 参数是否为 1 只是我们假设的一个条件,实际的条件可能更加灵活和复杂。例如动态更新数据的判断依据可能是某个结果集是否为空,我们就可以使用 T.len() 获取结果集的长度,当长度为 0 时,表示结果集为空。

2)假设示例中的需求修改为:当 type 的值不是 1 时,将雇员表和 EMPLOYEE 对象的数据作比较,然后将差异数据更新入库。而雇员表数据在 guyuan 对象中,那么此时可以将 update 的写法改为:

A1.update@k(EMPLOYEE:guyuan, 雇员, 雇员 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE; 雇员 ID)

至此,我们就实现了在脚本模式下制作填报表,进而动态更新数据的效果。这里需要重点理解的是 if 和 update 函数的使用,不过显然也是比较简单的哦 ~ 当我们遇到需要用脚本进行数据处理的情况,不要害怕,盘它就对了,盘的多了,你会发现原来脚本真的是很有意思的一种处理方式。

更多填报表制作技巧在这里:Http://c.raqsoft.com.cn/tag/Report?t= 填报技巧

详情链接:http://c.raqsoft.com.cn/article/1550469839038?r=gxy

--结束END--

本文标题: 如何通过脚本实现数据动态更新

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何通过脚本实现数据动态更新
    在数据填报的场景中,常常会遇到根据条件动态更新数据的需求,例如:在条件 A 下将页面所有数据插入到数据库表中,而在条件 B 下则将页面中做了修改的数据更新到数据库表中。遇到这种需求,脑海中的第一个想法就是:存储过程更新、或者 java 代码...
    99+
    2023-06-02
  • Vue中怎么通过AJAX动态更新数据
    本文小编为大家详细介绍“Vue中怎么通过AJAX动态更新数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中怎么通过AJAX动态更新数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。代码如下:var&nb...
    99+
    2023-07-04
  • Shell脚本中如何实现更新PHP5
    这篇文章主要介绍了Shell脚本中如何实现更新PHP5,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我很迷恋 Shell,很喜欢看着字符在黑色的 Console 界面中跳跃着...
    99+
    2023-06-09
  • c# winform动态更新数据怎么实现
    在C# WinForms中实现动态更新数据,可以使用数据绑定和事件处理来实现。 使用数据绑定 创建一个数据源,例如一个List或D...
    99+
    2023-10-26
    c# winform
  • Python代码如何通过动态脚本语言进行操作
    这篇文章将为大家详细讲解有关Python代码如何通过动态脚本语言进行操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们在计算机语言的应用中一般情况下我们都可跳过Build这些Projec...
    99+
    2023-06-17
  • 怎么通过Simulink实现数据滚动刷新
    本篇内容介绍了“怎么通过Simulink实现数据滚动刷新”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于...
    99+
    2022-10-19
  • 如何通过PHP脚本在Linux服务器上实现数据加密
    引言数据加密是现代计算机系统中非常重要的一项安全措施。通过加密敏感数据,可以保护用户隐私和数据完整性。本文将介绍如何在Linux服务器上使用PHP脚本实现数据加密,并提供具体的代码示例。使用OpenSSL库OpenSSL是一个开源的密码学工...
    99+
    2023-10-21
    Linux PHP 加密
  • 如何通过PHP脚本在Linux服务器上实现数据导出
    在开发 Web 应用程序时,经常会遇到需要将数据库中的数据导出为各种格式(如CSV、Excel等)的需求。而PHP作为一种流行的服务器端脚本语言,能够方便地连接数据库并处理数据,也可以轻松地在Linux服务器上实现数据导出功能。以下是一个示...
    99+
    2023-10-21
    linux服务器 数据导出 PHP脚本
  • 如何实现IP动态切换bat脚本
    这篇文章将为大家详细讲解有关如何实现IP动态切换bat脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。新建"IP切换脚本.bat"文件,将下列代码复制进去,保存,并加入启动项,这样每...
    99+
    2023-06-08
  • 如何通过动态参数实现周报制作
    需求描述在货品交易系统里,用户不仅要看当天的交易情况,还需要查看一周 / 一个月 / 一年的情况,也叫做周报 / 月报 / 年报。下图所示就是其中订货信息周报的效果。它是如何根据用户输入的一个日期查询出该日期所在周的订货信息表的呢?实现步骤...
    99+
    2023-06-02
  • 怎么通过shell脚本实现mysql数据备份与清理
    本篇内容介绍了“怎么通过shell脚本实现mysql数据备份与清理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SCRIPTubuntu 上...
    99+
    2023-06-04
  • MySql如何通过查询结果集更新数据
    这篇文章将为大家详细讲解有关MySql如何通过查询结果集更新数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。表结构 现在有用户表和用户实名认证表,user_info...
    99+
    2022-10-18
  • CentOS 7如何实现DNS+DHCP动态更新
    这篇文章给大家分享的是有关CentOS 7如何实现DNS+DHCP动态更新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人...
    99+
    2023-06-10
  • 在Linux中如何通过expect工具实现脚本的自动交互
    这篇文章给大家介绍在Linux中如何通过expect工具实现脚本的自动交互,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。expect是一个自动化交互套件,是建立在tcl基础上的,能过通过脚本设置自动进行交互通信。1 安...
    99+
    2023-06-28
  • Vue.set()如何实现动态新增与修改数据以及触发视图更新
    小编给大家分享一下Vue.set()如何实现动态新增与修改数据以及触发视图更新,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!参数...
    99+
    2022-10-19
  • springboot+redis+mysql+quartz-通过Java操作jedis定时使用lua脚本获取缓存数据并更新数据库
    springboot+redis+mysql+quartz-通过Java操作jedis定时使用lua脚本获取缓存数据并更新数据库 一、重点 代码讲解:7.1点赞功能-定时持久化到数据库-Java整合l...
    99+
    2023-09-13
    java spring boot 定时任务 redis lua
  • shell脚本如何通过expect实现自动单边无密登录功能
    这篇文章主要介绍了shell脚本如何通过expect实现自动单边无密登录功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:EXPECT=/usr/bin/expec...
    99+
    2023-06-09
  • C#如何实现动态执行字符串脚本
    这篇文章主要介绍了C#如何实现动态执行字符串脚本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#如何实现动态执行字符串脚本文章都会有所收获,下面我们一起来看看吧。先来代码using System;u...
    99+
    2023-07-05
  • Python如何随数据更新实时画图?Python实时动态绘图
    在数据分析和可视化场景中,我们常常需要实现实时动态图表,比如每分钟读取数据库新的记录,及时更新图表显示最新数据,而不是静态显示某个时间点的数据。本文将介绍使用Python matploblib库的animation功能实现实时动态绘图的方法...
    99+
    2023-09-16
    python matplotlib 开发语言
  • Flutter如何轻松实现动态更新ListView浅析
    目录前言数据集触发器展示视图完整代码总结前言 在 App 开发过程中,ListView 是 比较很常见的控件,用来处理 列表类的数据展示。当然 Flutter 也是支持的,由于 Fl...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作