Precido de ajuda par fazer funcionar meu relatório feito no iReport(RESOLVIDO)

12 respostas
luizgomaciel

bom pessoal, to com um relatorio feito, fiz funciona-lo com o banco de dados, tipo conexao direta, $F{XXX} , agora to querendo usar parametros, $P{XXXX} , tipo receber valores do meu app java, vou usar imagem sabe, eu avredito que so consigo enviar dessa forma , por jasper. bom que manja disso entende o que quis dizer.

meu codigo java e esse
String driver = "org.firebirdsql.jdbc.FBDriver"; //Classe do driver JDBC
    String url = "jdbc:firebirdsql:localhost/3050:C:\\Program Files\\Sistema de Igreja\\bd\\IGREJA.GDB";
    String usuario = "SYSDBA"; //Usuário do banco
    String senha = "masterkey"; //Senha de conexão

      String d = cpCodigo.getText();
     String rel = "C:/Users/Luiz Gustavo/Documents/NetBeansProjects/IGREJA/src/tela/RelatorioMembro.jasper";
     

    
        try {

            Class.forName(driver); //Carrega o driver

                //Obtém a conexão com o banco
                Connection conn;

                conn = (Connection) DriverManager.getConnection(url, usuario, senha);

                String sql = "SELECT * FROM CADASTROMEMBROS WHERE CODIGO = " + d + "";
               java.sql.Statement rec = conn.createStatement();
               ResultSet rs = rec.executeQuery(sql);
              

               if (rs.next()){

                   JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

               Map param = new HashMap();
               param.put("Cod", rs.getInt(1));
               param.put("NUMERO", rs.getInt(2));
               param.put("TITULO", rs.getInt(3));
               param.put("ZONA", rs.getInt(4));
               param.put("SECAO", rs.getInt(5));
               param.put("RECEBIDO", rs.getInt(6));
               param.put("FUNCAO", rs.getInt(7));
               param.put("Nom", rs.getString(8));
               param.put("Conj", rs.getString(9));
               param.put("End", rs.getString(10));
               param.put("CEP", rs.getString(11));
               param.put("BAIRRO", rs.getString(12));
               param.put("CIDADE", rs.getString(13));
               param.put("ESTADO", rs.getString(14));
               param.put("TELEFONE", rs.getString(15));
               param.put("NACIONAL", rs.getString(16));
               param.put("METURAL", rs.getString(17));
               param.put("EMAIL", rs.getString(18));
               param.put("PROFISSAO", rs.getString(19));
               param.put("ESCOLA", rs.getString(20));
               param.put("CARTEIRA", rs.getString(21));
               param.put("ORIGEM", rs.getString(22));
               param.put("DATADE", rs.getString(23));
               param.put("CPFFFF", rs.getString(24));
               param.put("QIDADEUF", rs.getString(25));
               param.put("BATABA", rs.getString(26));
               param.put("QUALIG", rs.getString(27));
               param.put("SEDEIG", rs.getString(28));
               param.put("OBSERV", rs.getString(29));

             String print = JasperFillManager.fillReportToFile(rel, param, jrRS);
            JasperViewer viewer = new JasperViewer(print, false);
             viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);//Coloca em maximizado
            viewer.setTitle("teste");//Coloca um título no relatório
            viewer.setVisible(true);
           
           
           rs.close();
           conn.close();
               }
                       
        } catch (JRException ex) {
            JOptionPane.showMessageDialog(null,"naum deu","naum deu", JOptionPane.PLAIN_MESSAGE);
            Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
        }
     catch (ClassNotFoundException ex) {
             JOptionPane.showMessageDialog(null,"Não foi possível carregar o driver.","Não foi possível carregar o driver.",JOptionPane.CANCEL_OPTION);
             ex.printStackTrace();
        }
        catch (SQLException ex) {
             JOptionPane.showMessageDialog(null,"Problema com o banco de dados","Problema com o banco de dados",JOptionPane.CANCEL_OPTION);
             ex.printStackTrace();
        }
     catch(Exception erro){
             erro.printStackTrace();
         }

a conexao do relatorio e essa:

"Custom JRDataSource"

meus parametros estao assim:

$P{REPORT_PARAMETERS_MAP}.values(XXXXXX)

pesquisando na net vi que tem que ficar assim:

$P{XXXX}

bom, naum sei como fazer, e tbm naum sei se ta certo isso.

tem como alguem da uma força ai

meu ireport e o 3.7.3

me deem uma força, naum to conseguindo , fiz ate aki fuçando!!!!

12 Respostas

ViniGodoy

Por favor, ao postar tópicos DEIXE O CAPS LOCK DESLIGADO.
Não pareceu que no final da frase eu estava gritando? Ou que estava tentando chamar a atenção?

Pois é, o título do seu tópico também parecia.

luizgomaciel

e ae pessoal?

alanrodrigues

estou achando meio confuso isto…
o que você quer fazer? Seria pegar os parametros do seu app e gerar um relatório com eles?

luizgomaciel

alanrodrigues:
estou achando meio confuso isto…
o que você quer fazer? Seria pegar os parametros do seu app e gerar um relatório com eles?

sim, como lhe disse estou usando o ireport 3.7.3, configurei td dessa forma ai , mas naum funciona. pela a info que lhe passei vc esta vendo algo errado ?

naum sei se esta certo esses parametros criados no ireport

alanrodrigues

Eu sempre deixo com que o iReport faça a busca…
passo os parametros que desejo fazer a comparação… ou no caso… se vc deseja passar os parametros ‘prontos’ pro relatório, é só criar os parametros no iReport, tipo:

$P{Cod} -> tipo INT
$P{NUMERO} -> tipo INT

tá dando algum erro?
qual?

luizgomaciel

alanrodrigues:
Eu sempre deixo com que o iReport faça a busca…
passo os parametros que desejo fazer a comparação… ou no caso… se vc deseja passar os parametros ‘prontos’ pro relatório, é só criar os parametros no iReport, tipo:

$P{Cod} -> tipo INT
$P{NUMERO} -> tipo INT

tá dando algum erro?
qual?

Exception in thread AWT-EventQueue-0 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

at net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:60)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:458)

at tela.Principal.btImprActionPerformed(Principal.java:4176)

at tela.Principal.access$800(Principal.java:53)

at tela.Principal$9.actionPerformed(Principal.java:444)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6263)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)

at java.awt.Component.processEvent(Component.java:6028)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4630)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Window.dispatchEventImpl(Window.java:2475)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:303)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)

 30 more
R
H

O ireport aceita esse getInt ? Tentar converter pra string antes de passar pra ve se funfa.

luizgomaciel

raf4ever:

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

bom, resolvi esse problema do logFactory baixando o arquivo jar commons-logging-1.1 e coloquei na biblioteca do meu projeto

mas, agora esta acusando outro erro, como resolver?

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap

davidbuzatto

[]´s

luizgomaciel

davidbuzatto:
http://davidbuzatto.com.br/2010/10/09/jasperreports-trabalhando-com-relatorios-em-java-parte-1/

[]´s

obrigado pela força, vou estudar o que vc me mandou, vi que esse blog tem 5 partes, vlw!

luizgomaciel

luizgomaciel:
davidbuzatto:
http://davidbuzatto.com.br/2010/10/09/jasperreports-trabalhando-com-relatorios-em-java-parte-1/

[]´s

obrigado pela força, vou estudar o que vc me mandou, vi que esse blog tem 5 partes, vlw!

bom ajudou!

Criado 12 de dezembro de 2010
Ultima resposta 3 de jan. de 2011
Respostas 12
Participantes 6