Ireport comando "Like"

Ola pessoal

estou fazendo uma aplicacao para gerar um relatorio pelo nome do cliente. mas estou com um problema na query do ireport, naum sei como colocar as aspas simples.
tentei da seguinte maneira, coloquei o Like dentro de um paramentro assim como as aspas simples, mas mesmo assim naum esta funcionando.

String que esta na query do Relatório:

Parametro do Relatório:

inicioLike = new String(" like '")
finalLike  = new  String("%' ")
nomeCliente = new String("Marcelo")

O seguinte erro esta aparecendo:

Erro ao preencher impressão ... Error executing SQL statement for : subCliente
net.sf.jasperreports.engine.JRException: Error executing SQL statement for : subCliente.....

o query do relatório faça assim :

Parametro do Relatório:
nomeCliente do tipo java.lang.String e parametro inicial “”

e mais nada…

assim deve funcionar, entendeu ?

qquer coisa faz outro post.

[]s

valeu pela resposta.

eu testei da maneira q vc disse, mas gerou relatorio com o nome exato q foi passado como parametro, eu quero pegar todos os nomes q comecem com o valor passado como parametro por isso preciso do %

Exemplo:

nao sei se é o mais correto mas vc podia pegar ele como string e utilizar como vc tava fazendo antes…
select * from Cliente where nome $P{inicioLike} $P{nomeCliente}.toString() $P{finalLike}

No seu servlet onde vc vai informar o valor para o parametro, voce pode informar o “marcelo%” entendeu ?

entendi…muito mais facil fazer desta forma…

Valeu!

luiscesarinfo

5 anos depois deste post e ele salvou minha paciência… rsrsrsrs

valeu cara…

Essa de colocar o % no programa java (quando estiver passando o parâmetro) e não no ireport foi show de bola!

Deus te abençoe!

Sandro

Sandro

Uma outra forma de resolver é criar outro parâmetro (exemplo $P{nomeCliente_like}) e colocar em “Default Value Expression” com
$P{nomeCliente}+"%" .
Assim você concatena o simbolo “%” onde quiser com quantas strings tiver.

Na query ficaria assim:
select * from cliente where nome like $P{nomeCliente_like}

Isso também serve para outras situações.

Espero ter ajudado quem mais venha a precisar.

Luís Paulo

[quote=SandroSoftwares]luiscesarinfo

5 anos depois deste post e ele salvou minha paciência… rsrsrsrs

valeu cara…

Essa de colocar o % no programa java (quando estiver passando o parâmetro) e não no ireport foi show de bola!

Deus te abençoe!

Sandro[/quote]
Show! Salvou a minha também =D

[quote=lpsalgueiro]Sandro

Uma outra forma de resolver é criar outro parâmetro (exemplo $P{nomeCliente_like}) e colocar em “Default Value Expression” com
$P{nomeCliente}+"%" .
Assim você concatena o simbolo “%” onde quiser com quantas strings tiver.

Na query ficaria assim:
select * from cliente where nome like $P{nomeCliente_like}

Isso também serve para outras situações.

Espero ter ajudado quem mais venha a precisar.

Luís Paulo[/quote]
Grande, melhor ainda =)

Voces tambem podem passar o parametro com um “!” depois do “P”, dessa forma:

SELECT * FROM tabela WHERE nome like "%$P!{nome}%"

1 curtida

Sempre fazendo a gente economizar tempo e parar de bater cabeça!

Vlw GUJ e todos que tem dúvidas rs