使用与jasper参数一样

时间:2014-02-24 21:03:00

标签: parameters jasper-reports wildcard

我正试图在Jasper中使用'like'和一个参数。

我的查询是:

... where tb_produto.NomeProduto LIKE $P{NomeProduto} order by $P!{OrdenarPor}

当我在预览对话框中输入参数$ P {NomeProduto} = ABC的名称时,我得到了我的产品, 但是当我使用通配符时不起作用。

$ P {NomeProduto} = AB%或A%或只是%返回没有行。

3 个答案:

答案 0 :(得分:1)

您需要使用与order by by子句中相同的语法。在您的情况下,有必要将参数“原样”(未绑定参数)视为:

...
where
    tb_produto.NomeProduto LIKE '%$P!{NomeProduto}%'
order by
    $P!{OrdenarPor} 

有关该问题的更多详细信息:http://jasperreports.sourceforge.net/sample.reference/query/

但是当从外部(例如webform)给出参数时,你必须注意SQL注入,因为这样可以很容易地操作查询。

答案 1 :(得分:0)

如果你想搜索喜欢:.......其中empId喜欢' 822A%'然后你可以使用 concat japser参数到通配符如:其中empId喜欢' $ P!{p_empId}%'

答案 2 :(得分:0)

试试这个:

where  tblName.colName LIKE "%"'$P!{paramName}'"%"