为什么sql后加条件后会报错
我在报表中加了条件会报错{IIF(@CPLX = "", "", " and b.ProductClass='" & @CPLX & "' ")}
此条件我打印出来后将打印的值:and ProductClass='低值耗材' 直接加在sql后查是没有问题的,请问是什么原因?
问题描述:
报表内嵌数据集 SQL 报错。
问题解决:
您好,从您的报错信息来看,这个是Mysql数据库抛出的异常,是SQL语句有问题。
您先把数据集删掉,在报表中拖一个文本框,把您的SQL语句放在文本框中显示一下,然后把您的SQL语句放进去,正常的输入参数值,可以看到最终生成的SQL语句。
您看看SQL语句对不对,可以直接复制去数据库里执行一下。
问题找到了,加了这个参数后,关键字前后的空格没有了,导致sql出问题,这是不是你们产品的bug???? zhengwei_cq 发表于 2024-10-24 10:31
问题找到了,加了这个参数后,关键字前后的空格没有了,导致sql出问题,这是不是你们产品的bug????
不是bug哦。您也说了是缺少一个空格。您加上就行了。 Eden.Sun 发表于 2024-10-24 11:56
不是bug哦。您也说了是缺少一个空格。您加上就行了。
我在navicat中本来可以跑的sql,加了一个条件,全复制进去后就会把空格给我干掉 这个其实是走了{}后,我们确实会转义一遍,一般是在换行的时候需要注意,我们会替换掉换行符,所有有时候看上去换行的时候空格,其实是没有的。
页:
[1]