行填报时,我想有插入有更新有删除,现在ID是整型并且是数据库自增。应该怎么设置ID呢?

请问大家,行填报时,我想有插入有更新有删除,现在ID是整型并且是数据库自增。应该怎么设置ID呢?

当前采用的是智能提交,当新增行时,提交提示NULL

FineReport zbz2186 发布于 2021-1-29 08:54
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共8回答
最佳回答
0
zbz2186Lv2见习互助
发布于2021-2-1 18:39(编辑于 2021-2-1 18:40)

谢谢大家回复,我用公式解决了这种问题,在填报属性的主键字段上加上判断,如果为null,就用sql公式获取序列

if(B16 = null, sql("tianbao_test", "select nextval('fr_test.tabel_1_id_seq'::regclass)", 1, 0), B16)

最佳回答
0
krystal033Lv7高级互助
发布于2021-1-29 08:56

直接id主键就好了

  • zbz2186 zbz2186(提问者) 您好,设置ID主键了,但没有好使呢,新增的提交是NULL呢
    2021-01-29 08:59 
  • krystal033 krystal033 回复 zbz2186(提问者) 可以直接取数据库最大值id 到页面 然后加1 插入行的的话插入行策略 设置默认公式上一个单元格+1
    2021-01-29 09:13 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-1-29 08:58

ID自增长的话,这样子好像不能一个页面使用智能提交

需要新增页面单独,使用掺入提交

修改和删除可以一个页面,使用智能提交,然后设置ID为主键

  • zbz2186 zbz2186(提问者) 好的,谢谢,难道只能是前端把ID生成才行吗
    2021-01-29 09:05 
  • snrtuemc snrtuemc 回复 zbz2186(提问者) 分开设计的话,新增页面用插入提交,就不需要生成主键了
    2021-01-29 09:11 
最佳回答
0
用户E2976026Lv5见习互助
发布于2021-1-29 09:57

设置填报属性的时候不用勾选自增ID那个字段,记录你需要的其他字段就行了。

最佳回答
0
用户A7833092Lv4初级互助
发布于2021-1-29 10:08

在前端使用uuid()

最佳回答
0
ljz1031Lv6见习互助
发布于2021-1-29 10:10

设置填报属性的时候不用勾选自增ID那个字段,记录你需要的其他字段就行了。“这个是正解 不过还是要设置主键来满足更新或者删除的需求(你根据哪些字段判定他是重复的?),自增长ID是满足不了更新和删除的。

最佳回答
0
梦想的初衷Lv7初级互助
发布于2021-1-29 10:11

设置主键单元格插入行策略为空值

最佳回答
0
ColdmanLv6高级互助
发布于2021-1-29 10:11(编辑于 2021-1-29 10:15)

数据库自增长ID填报- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)


很清楚

要同时实现新增、修改和删除,只需要把字段查出来拖到单元格内,ID所在的单元格不给控件,就是不让填报。填报属性绑定好,设置ID为主键

  • 7关注人数
  • 753浏览人数
  • 最后回答于:2021-2-1 18:40
    请选择关闭问题的原因
    确定 取消
    返回顶部