未修改不更新

编辑
  • 文档创建者:文档助手1
  • 浏览次数:12724次
  • 编辑次数:9次
  • 最近更新:ukae 于 2018-07-09
  • 1. 描述

    填报提交时,将根据情况进行insert/update操作,当填报行数较多时,速度可能较慢,因为他要对所有字段进行操作。
    此时可以设置单元格不改变时不参与更新,这样,相应的数据行在数据不改变时,不会参与更新操作,即SQL语句中update中不包含该行,进而提高填报的效率。
    但这个功能只有在填报更新数据的时候有效,因此需要在使用报表主键的的基础上使用该功能。

    2. 解决思路

    在设置报表填报属性的时候,勾选未修改不更新。

    3. 解决步骤

    1)新建数据集,sql:SELECT * FROM Sales

    2) 报表设计如下图,将字段拖放到对应单元格,并设置相应的控件。

    3)点击模板>报表填报属性,设置相关填报属性和勾选未修改不更新标签前面的勾选框,如下图:

    注:只有填报属性中绑定的字段的值都为单元格的时候才勾选该选项,如果某个字段值为公式或其他,该选项不可勾选,即未修改不更新只适用于所有字段值均为单元格的情况。
    4)如下图修改中国的一个销售额值,提交,

    5)此时后台执行的update语句为:
    注:查看以下日志,需在文件>选项>高级中,将log级别设置切换为DEBUG模式。

    可以看到,数据库只更新了中国销售额所在行的数据,其他行都没有改变。
    6)不设置未修改不更新时后台执行的update语句为

    可以看到,数据库分别对每行数据都进行了更新。
    由上可见,对于大数据量、少部分修改的填报表,设置了未修改不更新将大大提高填报的效率。

    注:未修改不更新是指针对于web端单元格中数据是否有改变(如果web端单元格中数据变化了,单元格左上角会出现红色三角形标志),并不是去数据库中匹配数据是否变化。

    报表填报属性里的未修改不更新,必须所有字段均为单元格时,才能使用。

    当填报的是固定值或者公式时,这个功能无法使用,

    如设置中止为false时,未修改不更新无法使用,这时如果需要使用此功能请查看通用的填报中未修改不更新设置方法

    4.移动端效果

    只更新了修改过的行

    附件列表


    主题: 填报应用
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]