急急急,填报主键问题

各位大佬,问题如下:填报报表问题,

背景:A列至C列从数据库表中查询得出,D列至F列填报至新的数据库表中,

详细问题点:填报时有部分数据,没有暂时空着,不填报,这时帆软提示报错,主键不能为空,这种情况怎么解决?

详细例子:有3行数据(A列至C列)查询出,其中只填报前两行,第三行空着,这时提交填报就提示主键不能为空,第三行通过设置条件格式隐藏

FineReport 十三SSan 发布于 2024-12-3 09:35 (编辑于 2024-12-3 09:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-12-3 09:36

生成一个主键呗

使用UUID自动生成主键 https://help.fanruan.com/finereport/doc-view-2869.html

  • 十三SSan 十三SSan(提问者) 最一开始是这样设置了,也是提示主键不能为空,有几行数据通过设置条件格式,隐藏不显示,只显示我要看到的数据,然后再填报,就提示主键不能为空
    2024-12-03 09:51 
  • 华莉星宸 华莉星宸 回复 十三SSan(提问者) 你这个提示 是不是数据库的提示?你可以在界面吧主键ID显示出来,看看是不是生成成功了
    2024-12-03 09:53 
  • 十三SSan 十三SSan(提问者) 回复 华莉星宸 对,数据库报错,ORA-01400,主键不能为空这个报错,在主界面把使用UUID,意思是单元格中使用公式吧,这样单元格中就没法放数据集字段了吧
    2024-12-03 10:02 
  • 华莉星宸 华莉星宸 回复 十三SSan(提问者) 你新增一列当主键,比如原来的主键在D2, 用公式,if(len(D2)=0,uuid(),D2)
    2024-12-03 10:09 
最佳回答
0
孤陌Lv6资深互助
发布于2024-12-3 09:38

设置提交条件  LEN(主键单元格)!=0

  • 十三SSan 十三SSan(提问者) 设置了,还是不行,大佬,
    2024-12-03 09:50 
  • 孤陌 孤陌 回复 十三SSan(提问者) 不提交 怎么可能报错 你设置的是公式吗??
    2024-12-03 10:09 
最佳回答
0
snrtuemcLv8专家互助
发布于2024-12-3 09:39

这个就直接设置填报提交条件

主键为空的不提交

参考这个设置,多个就在增加

image.png

  • 十三SSan 十三SSan(提问者) 按照大佬的指导,设置了,还是不行,因为有几行数据,通过设置条件格式后,隐藏了,是不是因这个原因导致的?
    2024-12-03 09:49 
  • snrtuemc snrtuemc 回复 十三SSan(提问者) 隐藏不会影响,你有多个组件的话,那就每个都加这个判断试试,正常空着就不会提交了的,注意,默认是and并发,改成or,一个不满足就不提交
    2024-12-03 09:51 
  • 十三SSan 十三SSan(提问者) 回复 snrtuemc 改成了OR也是报错,
    2024-12-03 09:59 
  • snrtuemc snrtuemc 回复 十三SSan(提问者) 难道数据库,你设置不能为空,正常这个为空的设置不让提交,已经到不了数据库,怎么还会报错啊。。莫非你的不是空值,是空格符?
    2024-12-03 10:02 
  • 十三SSan 十三SSan(提问者) 回复 snrtuemc 对,数据库主键设置了不能为空,是空值
    2024-12-03 10:16 
最佳回答
0
ScyalcireLv7高级互助
发布于2024-12-3 09:51

填报的时候新增一列主键哇UUID

最佳回答
0
是guoguoLv5见习互助
发布于2024-12-3 10:56

先看看数据库表的主键,不行就是数据库主键取消,填报uuid为主键

  • 5关注人数
  • 150浏览人数
  • 最后回答于:2024-12-3 10:56
    请选择关闭问题的原因
    确定 取消
    返回顶部