我正在尝试在 Jasper 中将“like”与参数一起使用。
我的查询是:
... where tb_produto.NomeProduto LIKE $P{NomeProduto} order by $P!{OrdenarPor}
当我将参数名称 $P{NomeProduto} = ABC 放入预览对话框中时,我得到了我的产品, 但是当我使用通配符时不起作用。
$P{NomeProduto} = AB% 或 A% 或仅 % 不返回任何行。
最佳答案
您需要使用与 order by 子句中相同的语法。在您的情况下,有必要像这样“按原样”处理参数(未绑定(bind)参数):
...
where
tb_produto.NomeProduto LIKE '%$P!{NomeProduto}%'
order by
$P!{OrdenarPor}
更多详细信息:http://jasperreports.sourceforge.net/sample.reference/query/
但是当参数是从外部(例如 Webform)给出时,您必须注意 SQL 注入(inject),因为这样可以轻松操纵查询。
关于parameters - 将 like 与 jasper 参数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998918/