Duvida Ireport

10 respostas
luci.al

Olá!!

estou aprendendo a mexer com ireport achei muitos tutorias ensinando a fazer o relatório.
mas quase nenhum que ensina como aplica lo em minha app Desktop e como passar parâmetros para ele.
os relatórios ja estao prontos porem nao consigo passar os parametros… os dados sao sempre os mesmos.

alguém pode me indicar algum material ou dar uma breve explicação de como fazer isso??

10 Respostas

mauricioadl

isso eh tao simples que nem precisa de tutorial, os parametros sao passados atraves de um Map. segue exemplo de codigo:

String nome_arquivo_ponto_jasper = "teste.jasper";
Connection con = "sua conexao com o banco";
Map map = new HashMap();
map.put("meu_parametro", "valor_do_parametro")

JasperPrint jp = JasperFillManager.fillReport(nome_arquivo_ponto_jasper , map, con);
JasperViewer.viewReport(jp, false, new java.util.Locale("pt", "BR"));
D

Olá, pelo que entendi você procura por isso,

K19 ireport

GoGoBoy

E tbm vai precisar do jar do jasper não se esqueça!

ex:

net.sf.jasperreports.engine.JRException; net.sf.jasperreports.engine.JasperFillManager; net.sf.jasperreports.engine.JasperPrint; net.sf.jasperreports.engine.JasperReport; net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; net.sf.jasperreports.engine.util.JRLoader; net.sf.jasperreports.view.JasperViewer;

luci.al

Estou no estagio.
fui abrir o projeto agora, e cade o pen drive…esqueci em casa…rsrs
quando chegar em casa eu vejo de consigo aplicar em meu projeto.

mas de qualquer forma muito obrigada pessoal…qualquer duvida eu posto.
:wink:

Fexx

Veja se isso ajuda.

http://www.k19.com.br/artigos/relatorios-em-java-jasperreports-e-irepor/

Abraços.

Fica com DEUS.

mauricioadl

so prq eh gatinha aparece até solução repedida. kkkkk

GoGoBoy

kkkkk se é verdade tbm, passa o face pelo mp ai sim admito

luci.al

Boa noite!

eu consegui importar meu relatório..minha aplicação está chamando o relatorio porem, o relatorio é sempre o mesmo.
eu mudo os parametros e continua saindo o relatorio do sql que eu usei para fazer no ireport.

estou fazendo algo errado?
eu deveria fazer alguma coisa no ireport para indicar que os parâmetros seriam mudados?

public class JavaApplication4 {

    /**
     * @param args the command line arguments
     */
    private final String driver = "com.mysql.jdbc.Driver";
	private final String usuario = "root";
	private final String senha = "";
	private final String url = "jdbc:mysql://localhost/testeJasper";
        
         
        
        public JavaApplication4(){
            
            try {
			Class.forName(driver);
            String arquivo= "C:/Users/Luciana/Documents/NetBeansProjects/JavaApplication4/src/relatorio/relatorioClienteData.jasper";
                        
			Connection con = DriverManager.getConnection(url, usuario, senha);

			Map  map = new HashMap();  
                        map.put("data_compra", "2012/03/25"); 
                        map.put("idcliente", 4);

                       JasperPrint jp = JasperFillManager.fillReport(arquivo , map, con);  
                       JasperViewer.viewReport(jp, false, new java.util.Locale("pt", "BR"));  

		} catch (SQLException ex) {
			ex.printStackTrace();
			System.out.println(ex.getMessage()
					+ " \nFalha na conexao via jdbd ");
			
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println(e.getMessage());
			
		}
        }
        
    public static void main(String[] args)  {
    
   

		new JavaApplication4();
    }
	
}
luci.al

olhando alguns topicos… parece que eu tenho que marcar os campos que vão receber parâmetros com “$P!{}”
minha quary está assim:

<queryString> <![CDATA[select c.nome,c.endereco, l.cidade, m.data_compra, m.qtd,m.total from cliente c inner join localidade l on c.localidade_idlocalidade=l.idlocalidade inner join marmita m on c.idcliente=m.cliente_idCliente where m.data_compra='2012/03/25' and c.idcliente=1]]> </queryString>

aplicando “$P!{}”, fica assim:

<queryString> <![CDATA[select c.nome,c.endereco, l.cidade, m.data_compra, m.qtd,m.total from cliente c inner join localidade l on c.localidade_idlocalidade=l.idlocalidade inner join marmita m on c.idcliente=m.cliente_idCliente where m.data_compra=$P!{'2012/03/25'} and c.idcliente=$P!{1}]]> </queryString>

porem o ireport nao compila e nem apresenta erro…
essa é a maneira correta??

novato25

Tenta isso:

<parameter name="data_compra" isForPrompting="true" class="java.lang.String">
<parameter name="idcliente" isForPrompting="true" class="java.lang.String">

<queryString>  
        <![CDATA[select  c.nome,c.endereco,  
l.cidade,  
m.data_compra, m.qtd,m.total  
from cliente c  
inner join localidade l  
on  
c.localidade_idlocalidade=l.idlocalidade  
inner join marmita m  
on  
c.idcliente=m.cliente_idCliente  
where m.data_compra=$P!{data_compra} and c.idcliente=$P!{idcliente}]]>  
    </queryString>
Criado 13 de abril de 2012
Ultima resposta 15 de abr. de 2012
Respostas 10
Participantes 6