关于参数的问题

image.png

image.png

我去掉''后竟然就不报错了,求解

image.png

FineReport 孜云 发布于 2019-10-9 10:13
1min目标场景问卷 立即参与
回答问题
悬赏:8 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
axingLv6专家互助
发布于2019-10-9 10:21(编辑于 2019-10-9 10:22)

你的字段dept_id的数据类型是int类型,所以在判断的时候是

where dept_id in (320,3288)

而不是

where dept_id in ('320,3288')


字符类型的参数才需要加引号

image.png

  • 孜云 孜云(提问者) 参数的话,不加引号有没有影响啊?
    2019-10-09 10:22 
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2019-10-9 10:15

你把日志调整成debug,运行的时候看下日志里面的SQL代码就明白了

最佳回答
0
shirokoLv6资深互助
发布于2019-10-9 10:17

他不是说了'320,328'转化成int型失败。。你的参数应该是数组吧,你加上引号就相当于转化成字符串'320,328',然后判断一个整数是否在一个字符串内,然后报错了

  • 孜云 孜云(提问者) 参数的话,不加引号有没有影响啊?
    2019-10-09 10:21 
  • shiroko shiroko 回复 孜云(提问者) 加引号的参数是字符串。因为sql里使用字符串等数据需要引号,比如where date =\'1970-01-01\'
    2019-10-09 10:26 
  • 孜云 孜云(提问者) 谢谢
    2019-10-09 10:31 
最佳回答
0
KerydiaLv5中级互助
发布于2019-10-9 10:18

image.png  控件返回值这里设置一下  然后写法还是和你第二个图一样就行了

最佳回答
0
doudekaixinLv6中级互助
发布于2019-10-9 10:26

你的问题在于分隔符,你现在的分隔符是逗号,那传进去的值就是in (320,328) 这个本身就可以不要引号。

但是如果你加了引号,就会被当成字符型。所以会报错。

  • 6关注人数
  • 583浏览人数
  • 最后回答于:2019-10-9 10:26
    请选择关闭问题的原因
    确定 取消
    返回顶部