最新历史版本 :先清空数据库表再提交数据入库 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

版本
功能变更
11.0-

1.2 应用场景

使用 Excel标记导入插件 导入 Excel 数据提交时,希望先清空原数据库表的数据再将导入的数据写入数据库表。如下图所示:

动图4.gif

1.3 实现思路

1)设置填报属性时,多个「内置SQL」的执行顺序为从上到下,串行执行。

2)利用此特性,在第一个内置SQL」中设置「删除提交」清空表,然后在第二个内置SQL」中设置「智能提交」插入数据。

3)该方式保证了事务的一致性,如果数据插入失败,清空表的操作也会回滚,确保数据库状态回到事务开始之前的状态。

2. 示例编辑

2.1 新建模板

点击菜单栏「文件>新建普通报表」,新建一张普通报表。如下图所示:

新建普通报表.png

2.2 准备数据

新建数据库查询 ds1,SQL 语句为: SELECT * FROM 产品。如下图所示:

新建数据库查询.png

2.3 设计报表

A1-K1 单元格输入文本,A2-K2 单元格设置扩展方向为纵向,设计报表样式。如下图所示:

注:设计表格时未添加控件,只支持导入数据,无法修改数据,如需修改数据可自行添加控件。

设计报表3.png

2.4 设置 Excel 标记导入

点击菜单栏「模板>Excel导入标记」,设置导入区域,「清空」、「增量」、「覆盖」三种导入方式皆可,此处设置导入方式为「清空」。如下图所示:

注:此处导入方式选择的「清空」只是清空页面数据, 2.6 节的「删除提交」设置才是清空数据库表中的数据。

设置导入标记2.png

2.5 添加标记导入按钮

1)点击菜单栏「模板>模板web属性」。

2)点击「填报页面设置」,选择「为该模板单独设置」,双击「标记导入」按钮添加到工具栏。如下图所示:

设置标记导入按钮.png

2.6 设置清空表

1)点击菜单栏「模板>报表填报属性」,添加「内置SQL」,提交类型为「删除提交」。

2)选择数据库 FRDemo 中的「产品」表 ,添加字段「产品 ID」并勾选为主键,值为公式:SQL("FRDemo","SELECT 产品ID FROM 产品",1) ,即查询出所有的「产品ID」作为主键来清空表。如下图所示:

注:设置清空表只需要一个字段,设置多个字段可能会出现笛卡尔积问题。

删除提交.png

2.7 设置插入数据

1)继续添加「内置 SQL,提交类型为「智能提交」。

2)选择 FRDemo 中的「产品」表,智能添加所有字段,并添加对应单元格,勾选「产品ID」作为主键。如下图所示:

注:添加「内置SQL 」的顺序不能错,先设置清空表,再设置插入数据,否则达不到效果。

设置智能提交.png

2.8 效果预览

注:不支持移动端。

保存报表,点击「填报预览」,点击工具栏的「标记导入」,导入 Excel 文件,点击「提交」,数据库的数据表会先清空再将导入的数据提交入库。如 1.2 节所示。

3. 下载模板编辑