Ireport comando "Like"

11 respostas
M

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.....

11 Respostas

luiscesarinfo

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

M

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:

M

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}

luiscesarinfo

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

M

entendi…muito mais facil fazer desta forma…

Valeu!

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

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

gRoOve

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


Show! Salvou a minha também =D

gRoOve

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


Grande, melhor ainda =)

renatoargh

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

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

claudsan

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

Vlw GUJ e todos que tem dúvidas rs

Criado 27 de novembro de 2007
Ultima resposta 23 de fev. de 2013
Respostas 11
Participantes 8