进行填报一条数据,提交之后,提交了两条数据

我在插入数据的时候,使用uuid生成ID,但是进入数据库里的ID和填报的时候生成的ID不一样,这样就导致,入库的数据是多条,我知道在提交之后刷新页面就可以避免这个问题,但是数据量很多的情况,每次刷新都是从头开始。为什么入库的ID和填报生成的id不一样

image.png

这是填报时生成的id(我填报控件上设置了编辑后提交)

image.png

这是入库的ID

image.png

填报属性

FineReport 深巷 发布于 2021-10-27 15:12 (编辑于 2021-10-27 19:15)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-10-27 15:18

填报属性截个图

  • 深巷 深巷(提问者) 你看一下,刚开始填报属性的id我是用的C3单元格里面的公式,还是插入多条数据,我现在直接用单元格,删除行那个控件就不能用了
    2021-10-27 15:22 
  • Z4u3z1 Z4u3z1 回复 深巷(提问者) https://bbs.fanruan.com/wenda/question/13198.html 搞不明白了。在你的这个场景中不影响数据啊
    2021-10-27 15:38 
  • 深巷 深巷(提问者) 回复 Z4u3z1 插入第一次的时候是正常的,第二次的时候就变成两天数据了
    2021-10-27 15:44 
  • 深巷 深巷(提问者) 我提交一次刷新一次就可以了,能不能刷新完之后,展示的还是当前行
    2021-10-27 15:51 
  • Z4u3z1 Z4u3z1 回复 深巷(提问者) 我刚测试了 插入、更新都是对的啊
    2021-10-27 16:08 
最佳回答
0
hotfog119Lv7初级互助
发布于2021-10-27 15:56

你ID取法不对,你A3的UUID不是固定值,一直在变动的

  • 深巷 深巷(提问者) 那有没有解决方法
    2021-10-27 15:58 
  • hotfog119 hotfog119 回复 深巷(提问者) 你填报报表制作思路没对,如果你的反馈应该不是要批量导入数据,直接做成自由填报报表。时间用帆软now函数或者oracle的sysdate。而且ID可以不用加,毕竟你的目的是要保证数据数据唯一性、加上设置主键优化查询数据。直接用填报时间、反馈部门、反馈人做联合主键吧,这三个加起来重复的概率几乎没有。查询那边你用日期区间或者再加上反馈人、反馈部门 复选框作为查询参数来用
    2021-10-27 16:17 
  • 深巷 深巷(提问者) 回复 hotfog119 你这当前时间,不是也是一直在变化吗
    2021-10-27 16:38 
  • hotfog119 hotfog119 回复 深巷(提问者) 由于公式编辑界面默认勾选了「填报/分析时,保留公式用于计算」,则填报提交时公式会二次计算,从而导致入库时又重新生成了 id 。 把这个勾掉吧。新方法坑比较多
    2021-10-27 16:55 
  • hotfog119 hotfog119 回复 深巷(提问者) 我的当前时间写入数据库已经写死了的,查询出来不会再变动了,你的等于是写了个uuid的公式进去,再调用表的时候,还得再计算一次
    2021-10-27 17:08 
最佳回答
0
圣体叶小凡Lv6高级互助
发布于2022-4-26 01:07

没必要,直接页面id字段,你把现在B3的ds1.id字段放到C3 ,然后填报属性绑定id的公式为:if(len(C3)=0,uuid(),C3)

  • 3关注人数
  • 782浏览人数
  • 最后回答于:2022-4-26 01:07
    请选择关闭问题的原因
    确定 取消
    返回顶部