调取数据表中所有数据(共1200行),其中三列内容分别设置为3个参数,界面参数设置为多选,参数全部勾选查询时报错,报错类型为缺失右括号,但是参数单选时没有报错,各位大拿,辛苦指教
问题解决了,我的数据表中某个作为参数的列里面的内容有单引号这种特殊字符
看一下你的分隔符是不是这样的
你把你SQL截图看一下,多选好多人都忘记设置分隔符
你得这么写
where 1=1
${if(len(参数1)=0,"","and 表字段 in('"+ 参数1+ "')")}
${if(len(参数2)=0,"","and 表字段 in('"+ 参数2+ "')")}
你的sql里面要用in 同时要设置分隔符号
${if(len(参数名称)=0,"","and 表中的字段 in('"+ 参数名称 + "')")}
看一下SQL,估计是拼接的时候出错了
不使用转义字符,改成这样试试
Select * from 表名 where 列名1 in "('"+${参数1}+"')" and 列名2 in "('"+${参数2}+"')" and 列名3 in "('"+${参数3}+"')"
另外分割符设置再看一下,是不是用中文符号设置了,切换成英文再试一下,你这多选出错,单选没错,大概率还是你这个分隔符有问题