Problema com ireport , alguem poderia me ajudar?

8 respostas
P
package relatorio;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import org.gjt.mm.mysql.Driver;


import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.*;

public class testando {


	@SuppressWarnings({ "unchecked", "deprecation" })
	public static void main(String[] args) throws SQLException {
    	Connection con =  null;
		try {
			DriverManager.registerDriver(new Driver());
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sisordem", "usuario", "senha");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		HashMap parametro = new HashMap();
		parametro.put("PAULO", 1111);
        try {
            //caminho onde esta o relatorio
            JasperReport jr = JasperManager.loadReport("./relatorio/Ordem.jasper");//.compileReport(design);
            JasperPrint impressao = JasperManager.fillReport(jr,parametro,con);
            JasperViewer jrviewer = new JasperViewer(impressao,false);
            jrviewer.setTitle("Ordem de Compra");
            jrviewer.setVisible(true);
        }catch (Exception erro) {
        	erro.printStackTrace();
           System.out.println(erro.getMessage());
        }
 }	
}

Erro gerador é
java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
at relatorio.testando.main(testando.java:36)

quando eu debug o código o erro esta nessa comando JasperPrint impressao = JasperManager.fillReport(jr,parametro,con);, na hora q vai gerar o objeto impressao.

alguem teria uma dica para me da??

obrigado

8 Respostas

rafaelviny

eu nao consigo ler seu codigo sem a TAG

leia as regras do forum

lokidarkeden

Amigo, aparentemente o problema é em um dos parametros da linha

Cheque os três parametros passados para ver se algum deles está nulo.

Outra coisa, sem que for colar código no forum, use as tags code, para facilitar a visualização.

Valeu

P

Lokidarkeden, ja verifiquei issu é todos os 3 paramentros não estao nulos

lokidarkeden

Se você estiver usando alguma IDE ( netbeans ou eclipse por exemplo ), adicione alguns break points no código, no bloco do try catch e execute em modo debug.
Assim você pode ver precisamente onde a aplicação quebra e como estão as variáveis durante a execução.

P

lokidarkeden ,
fiz o que você recomendou, uma coisa q reparei , ele cria o objeto JR normalmente , mas quando ele é passado como parametro no metodo seguinte ele fica null.

P

Eu estou usando a versão 4.0.1 do ireport, tem diferença nas bibliotecas para cada versao ???
ou as bibliotecas sempre serão as mesma para qualquer versão.

lokidarkeden

Crie um File para o seu arquivo de relatorio é veja se ele existe, pode ser algum problema de path.

Eu geralmente obtenho meus relatorios assim:

P

Mesmo usando o InputStream continua a mesmo erro, como um objeto pode ser criado correto e na hora que uma classe chama ele fica null?

Criado 6 de maio de 2011
Ultima resposta 6 de mai. de 2011
Respostas 8
Participantes 3