Ireport - passagem de filtros por parametro

1 resposta
T

Olá, estou utilizando o ireport na minha aplicação, minha query esta no relatório e espera um parâmetro, o qual será os filtros do meu relatório. No entanto quando esses filtros são adicionados o relatório vem vazio, quando não há filtros o relatório trás tudo ok.

minha query é algo do tipo:

select funcionario.nome nomeFunc, funcionario.endereco endFunc, funcionario.telefone telFunc, funcionario.dataAdmisao dt, funcionario.salario salario, empresa.nome nomeEmp, empresa.endereco endEmp
from funcionario, empresa
where funcionario.codEmpresa = empresa.id
and empresa.id = $P{QUERYFILTRO}

Esta query está no relatório.

No código da minha aplicação eu passo no hashMap uma única String que é a concatenação do id da empresa e os filtros.
exemplo:

StringBuffer query = new StringBuffer();
        query.append(form.getIdEmpresa());
        
        if(form.getNomeFunc()!=null&&!form.getNomeFunc().equals("")){
        	query.append(" AND FUNCIONARIO.NOME LIKE '");
        	query.append(form.getNomeFunc());
            query.append("%'");
        }

//adiciono outros filtros da mesma forma e depois adiciono a query no hashMap (query.toString())

Como disse antes, se só for adicionado o id da empresa e mais nenhum filtro o relatório funciona, caso seja adicionado algum filtro o relatório vem em branco.

Espero que alguém possa me ajudar a descobrir o que esta errado, pois já procurei em tutoriais, mas não encontrei nada deste tipo, e já não sei mais oque fazer.

Desde já agradeço a ajuda.

1 Resposta

T

Já encontrei o erro.

A passagem do parâmetro deve ser assim:

$P!{QUERRYFILTRO}

Estou começando a achar que é difícil conseguir ajuda neste fórum quando se é um novo usuario.

Mesmo assim obrigado.

Caso alguém ainda tenha alguma duvida pode perguntar, que EU respondo.

Criado 23 de outubro de 2007
Ultima resposta 23 de out. de 2007
Respostas 1
Participantes 1