数据校验(与数据库的数据进行校验)

填报的卡号和本金与数据库的卡号和本金进行校验

本金带有小数点,不知道是不是因为小数点的原因,输入正确的数据也一直校验失败。同样的方法校验卡号和姓名,就没有问题

cas_ca_cd代表数据库中的卡号字段,k2代表卡号的单元格

cas_m代表数据库中的本金字段,F2代表本金的单元格

数据校验代码:

AND(LEN(sql("gz","SELECT 1 FROM bank_case WHERE ISNULL(cas_ca_cd,'')='"+K2+"' AND ISNULL(cas_m,'')='"+F2+"'",1))>0, LEN(sql("cd","SELECT 1 FROM bank_case WHERE ISNULL(cas_ca_cd,'')='"+K2+"' AND ISNULL(cas_m,'')='"+F2+"'",1))>0)

捕获.PNG

FineReport lose 发布于 2022-6-16 10:53
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-6-16 10:56(编辑于 2022-6-16 11:00)

cas_m在数据库里面是什么格式?

另外你不是mysql么?没得isnull()函数吧

试试

AND(LEN(sql("gz","SELECT 1 FROM bank_case WHERE IFNULL(cas_ca_cd,'')='"+K2+"' AND IFNULL(cas_m,'')='"+F2+"'",1))>0, LEN(sql("cd","SELECT 1 FROM bank_case WHERE IFNULL(cas_ca_cd,'')='"+K2+"' AND IFNULL(cas_m,'0')='"+IF(LEN(F2)==0,0,F2)+"'",1))>0)

  • lose lose(提问者) 我换了数据源 我现在这个是sql server的
    2022-06-16 11:26 
  • lose lose(提问者) cas_m类型decimal
    2022-06-16 11:27 
  • Z4u3z1 Z4u3z1 回复 lose(提问者) 哦 那把上边的ifnull改回isnull
    2022-06-16 11:27 
  • lose lose(提问者) 回复 Z4u3z1 可以了 谢谢
    2022-06-16 11:32 
  • 1关注人数
  • 317浏览人数
  • 最后回答于:2022-6-16 11:00
    请选择关闭问题的原因
    确定 取消
    返回顶部