求助:提交校验时,如何和数据库的已有数据进行比对校验。

想写一个提交校验,去和数据库的表内容做比对。如果我填报的数据提交的时候发现数据有这个数据,就显示数据库已有这个数据。这个提交校验我该如何写呢。

根据下面几个字段判断,如果数据库中已经有了相同的商品名称-材质-形状-重量-姓名-电话-身份证 ,这几个信息,那就不能再提交成功相同的行项目信息了。



微信截图_20200513114158.png

FineReport rbk333 发布于 2020-5-13 11:44
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
2
snrtuemcLv8专家互助
发布于2020-5-13 12:17

使用sql()函数 ,对应参数商品名称-材质-形状-重量-姓名-电话-身份证的单元格为A3,B3,C3,D3,E3,F3,G3

sql("DBName","select count(*) from 表 where 商品名称='"+A3+"' '"++"' and 材质= '"+B3+"' and 形状='"+C3+"' and 重量='"+D3+"' and 姓名='"+E3+"' and 电话='"+F3+"' and 身份证='"+G3+"'",1,1)G3<1

123.png

  • rbk333 rbk333(提问者) 谢谢 很厉害的语句
    2020-05-13 14:13 
  • SYF1764811194 SYF1764811194 最后那个 G3<1是什么意思啊 我思考的是当存在这个数据是>1的所以不应该写>嘛?
    2020-07-25 13:53 
  • 用户P3791388 用户P3791388 亲,提示非法公式
    2021-03-15 19:08 
最佳回答
0
qhlLv6中级互助
发布于2020-5-13 11:51

方法一、填报提交时选择智能提交,设置这些字段的组合主键(联合唯一);

方法二、设置提交校验,运用sql函数,根据填写的内容查询数据库count,如果等于1或者大于0,则校验不通过,否则,校验通过

image.png

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

你这个在填报的时候设置主键不就完事了吗

  • rbk333 rbk333(提问者) 填报属性里的主键 应该和 数据库建表中的主键一致吧? 之前数据库中的主键设少了,填报属性也不好增加主键了。
    2020-05-14 10:18 
  • willgood1986 willgood1986 回复 rbk333(提问者) 不一样无所谓,重点是满足你的数据唯一性要求就行。这种很常见:比如,我为了效率高,我直接弄一个自增ID作为实体表主键,但是我在填报时用我需要的主键来控制即可。FR的填报并没有要求填报时设置的主键跟物理表的主键设置一致。
    2020-05-14 13:48 
  • 5关注人数
  • 1242浏览人数
  • 最后回答于:2020-5-13 12:17
    请选择关闭问题的原因
    确定 取消
    返回顶部