Vou explicar meu problema e tentar ser o mais claro possível. :!:
Após configurar um relatório no IReport e ter o arquivo.jasper pronto, pesquisei para saber como
abrir ele a partir de minha classe Java, o problema é que em todos os tutorias que encontrei eles
fazem a conexão e a consulta com o banco novamente na classe java…
:arrow: Gostaria saber se é possível dentro do próprio xml que é compilado para o .jasper eu colocar a conexão e a consulta,
para que na classe java eu possa apenas chamar o arquivo.jasper sem ter que passar valores para ele.
A consulta você pode fazer no relatório mesmo e passar apenas os parâmetros ao chamar o arquivo .jasper.
Sei que no IReport tem como você deixar a consulta lá e só passar os parâmetros.
No icone ao lado do preview no IReport você pode criar a consulta e a conexão.
E
Ewerson_Mantovani_Fa
thiagosf88
Como você disse "No ícone ao lado do preview no IReport você pode criar a consulta e a conexão. " :!:
Até ai tudo bem eu crio a conexão e a consulta no IReport e visualizo sem problemas, mais na classe Java
em todo tutorial que eu vi eles realizam a conexão novamente e a consulta como no exemplo abaixo. :?
publicclassIReportExemple{privatestaticfinalStringurl="jdbc:mysql://127.0.0.1/escola";privatestaticfinalStringdriver="com.mysql.jdbc.Driver";privatestaticfinalStringlogin="teste";privatestaticfinalStringpwd="123456";publicIReportExemple(){}publicvoidgerar(StringjasperFile)throwsJRException,SQLException,ClassNotFoundException{Class.forName(driver);Connectioncon=DriverManager.getConnection(url,login,pwd);Statementstm=con.createStatement();Stringquery="select * from turma";ResultSetrs=stm.executeQuery(query);//implementação da interface JRDataSource para DataSource ResultSetJRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);//executa o relatórioMapparametros=newHashMap();parametros.put("nota",newDouble(10));/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint *///jasperFile: é o arquivo.jasper//parametros: esses valores pelo que entendi realmente devem ser passados aqui pela classe java//jrRS: agora esse aqui que é o valor da consulta , pensava que o arquivo.jasper//ja tinha essas informações salvas nele, e ele que realizaria a consulta.JasperFillManager.fillReportToFile(jasperFile,parametros,jrRS);...
T
thiagosf88
Ewerson,
eu normalmente gero os relatórios com esse método: