提交前清空数据库

填报,每次提交后,先清空对应的数据表,再把填报的内容传到数据表。


这个要怎么实现???


要求是必须在提交后清空数据表,不能用自定义按钮之类的。

我用了文档里的设置,把导入前改成了导入后,但是数据本身只存在联合主键,没有单独的主键字段,不能用文档的sql公式,结果每次都不能完全清空数据表,总是留下相同的那些数据不能清楚。这是怎么回事?

image.png

FineReport 18328816101 发布于 2020-5-12 11:32 (编辑于 2020-5-12 14:25)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共8回答
最佳回答
0
18328816101Lv5中级互助
发布于2020-5-13 14:11

联合主键好不用,只能用第一个字段当主键删除数据。


另外通过各种测试发现各种事件的删除和需求有冲突,只有excel导入后事件的删除数据才能符合导入的效果,同时改成只能导入不能手动填报的需求。


感谢各位的办法!

  • kyugeegee kyugeegee 楼主,最后是没用联合主键吗
    2020-08-06 13:53 
  • 18328816101 18328816101(提问者) 回复 kyugeegee 对,没用。我当时就只用了第一个字段作主键,实际运用的时候只要一个字段就行,需不需要勾选主键可以试试
    2020-08-06 14:17 
  • kyugeegee kyugeegee 回复 18328816101(提问者) 好的,谢谢
    2020-08-06 16:28 
最佳回答
1
snrtuemcLv8专家互助
发布于2020-5-12 11:41

请参考

导入Excel前清空表-https://help.finereport.com/doc-view-1893.html


  • 18328816101 18328816101(提问者) 没用,不是单独的一个主键字段,sql公式用不了,取不了要删除数据的值
    2020-05-12 14:35 
最佳回答
0
杨曲奇Lv3见习互助
发布于2020-5-12 11:35(编辑于 2020-5-12 11:37)

你要清空当前这条记录?还是这个表所有内容?还是整个库?

当前这条记录,主键相同的情况下,你填报提交后就会覆盖掉原有的数据

  • 18328816101 18328816101(提问者) 不要覆盖,只要导入的数据进入数据表前清空数据表的数据
    2020-05-12 14:35 
最佳回答
0
luojian0323Lv7资深互助
发布于2020-5-12 11:37

考虑数据库触发器

最佳回答
0
shirokoLv6资深互助
发布于2020-5-12 12:13

建议单独做一个按钮,不然你啥都没填就点一次提交,啥都没加却把旧的数据都删掉了。

--

单独做按钮就简单了。。相当于单独做一个提交按钮,而提交模式是删除提交

image.png

最佳回答
0
晓亮Lv7资深互助
发布于2020-5-12 12:32(编辑于 2020-5-12 15:56)

image.png直接写俩个填报属性就好了,把删除的放到前面

image.png

  • 18328816101 18328816101(提问者) 这个不行,本来在导入前加了个清空当前页面显示数据的js,结果就是数据导进去了,但是进去前还是有那么些数据不知道为什么没删掉
    2020-05-12 14:33 
  • 晓亮 晓亮 回复 18328816101(提问者) 那只能放大招了,在报表WEB属性,增加一个填报前事件,直接写sql,delete
    2020-05-12 15:57 
  • 晓亮 晓亮 回复 18328816101(提问者) 也能传参数什么的
    2020-05-12 15:57 
最佳回答
0
zsh331Lv8专家互助
发布于2020-5-12 13:52

楼主:这种直接在报表填报属性处定义二个内置sql提交事件,第一个做删除操作,第二个做数据入库操作,并行执行就满足了需求!

image.png

image.png

最佳回答
0
willgood1986Lv2初级互助
发布于2020-5-13 08:10

你这种我建议提交到一个中间表,然后使用触发器,这个场景我觉得可能存在,但是这种思路不太好。

我觉得你完全可以增加一个录入的统一标识,每次一批提交用这个标识来标记就好了,旧的存在也无所谓,这样就避免了新旧混合

  • 7关注人数
  • 1302浏览人数
  • 最后回答于:2020-5-13 14:11
    请选择关闭问题的原因
    确定 取消
    返回顶部