Erro no Relatório iReport

19 respostas
caike_chb

E ai Galera. Fiz uma aplicação que chama um relatório... blz.... o relatório está chamando tranquilo... dá um monte de erro na janela "Saida" do NetBeans e o relatório aparece em branco. Segue meu código do relatório

package relatorios;

import java.net.URL;
import java.util.*;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
import utilitarios.conexao;
import utilitarios.conexaoMySql;


public class rel_cadastro
{    
    conexaoMySql con = new conexaoMySql();
    
    public rel_cadastro()
    {
        try  
        {  
            con.conecta();  
            con.executeSQL("SELECT * FROM tbl_cadastro ORDER BY cad_nome");  
            JRResultSetDataSource jrRS = new JRResultSetDataSource(con.resultset);  
            JasperPrint jasperPrint = JasperFillManager.fillReport(
                    "relatorios/rel_cadastro.jasper", new HashMap(), jrRS);  
            JasperViewer.viewReport(jasperPrint);  
        }  
        catch(Exception erro)  
        {  
            JOptionPane.showMessageDialog(null,"Não foi possivel gerar relatório! "+erro);  
        }
     }
    
    public static void main(String args[])
    {
        new rel_cadastro();
    }
     
}

A conexão no preview do iReport aparecem todos os dados!

19 Respostas

ribclauport
catch(Exception erro)

{

[color=red] erro.printStackTrace();[/color]

JOptionPane.showMessageDialog(null,"Não foi possivel gerar relatório! "+erro);

}

Coloque a saída da pilha de erro.

caike_chb

ribclauport eu coloquei, mas não obtive um resultado, ficou na mesma. Vou passar os erros que aparecem para mim:

12/03/23 08:33:45 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from URL [jar:file:/C:/Program%20Files/Jaspersoft/iReport-4.5.1/ireport/modules/ext/jasperreports-chart-themes-4.5.0.jar!/net/sf/jasperreports/chartthemes/spring/beans/chartThemesBeans.xml]
12/03/23 08:33:45 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from URL [jar:file:/C:/Program%20Files/Jaspersoft/iReport-4.5.1/ireport/modules/ext/jasperreports-chart-themes-4.5.0.jar!/net/sf/jasperreports/chartthemes/spring/beans/defaultChartPropertiesBean.xml]
12/03/23 08:33:45 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from URL [jar:file:/C:/Program%20Files/Jaspersoft/iReport-4.5.1/ireport/modules/ext/jasperreports-chart-themes-4.5.0.jar!/net/sf/jasperreports/chartthemes/spring/beans/chartConstantsBean.xml]
12/03/23 08:33:45 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from URL [jar:file:/C:/Program%20Files/Jaspersoft/iReport-4.5.1/ireport/modules/ext/jasperreports-chart-themes-4.5.0.jar!/net/sf/jasperreports/chartthemes/spring/beans/eyeCandySixtiesChartPropertiesBean.xml]
12/03/23 08:33:45 INFO xml.XmlBeanDefinitionReader: Loading XML bean definitions from URL [jar:file:/C:/Program%20Files/Jaspersoft/iReport-4.5.1/ireport/modules/ext/jasperreports-chart-themes-4.5.0.jar!/net/sf/jasperreports/chartthemes/spring/beans/chartConstantsBean.xml]

São estes ai

caike_chb

12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'isTrue': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'isFalse': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'fontPlainStyle': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'fontBoldStyle': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'fontItalicStyle': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'transparentPaint': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'whiteColor': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'blackColor': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'grayColor': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'darkGrayColor': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'lightGrayColor': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'grayPaint134': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'grayPaint217': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'eyeCandySixtiesSeriesColors': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'eyeCandySixtiesSeriesGradientPaints': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'rectangleEdgeTop': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'rectangleEdgeLeft': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'rectangleEdgeBottom': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'rectangleEdgeRight': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'centerHorizontalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'leftHorizontalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'rightHorizontalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'topVerticalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'centerVerticalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'bottomVerticalAlignment': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'blockBorderNone': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 12/03/23 08:33:45 INFO xml.XmlBeanFactory: Overriding bean definition for bean 'unitTypeAbsolute': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]

caike_chb

Bem… estes são apenas algumas linhas que aparecem de erro na saída… alguém tem alguma ideia?

ribclauport

As linhas que você está vendo não são erros, e sim warnings, se você não quiser que essas linhas apareçam, voce deve configurar seu log4j, para não emitir mensagens de level info!

Agora quanto a não abrir seu, relatório, pode ser que a query, não esteja retornando valores, ou está retornando muitos valores… Ou sej DataSource está com problemas…, pois não está dando erro no console!

caike_chb

Segue em anexo minhas classes java para análise

ribclauport

Faz bastante tempo que não trabalho com Ireport, porém importei seu jasper, converti para jrxml e verifiquei que você está usando
<queryString><![CDATA[select …

Ou seja está utilizando uma query, e na hora de gerar seu relatório está passando um ResultSet, tenho a grande impressão que está fazendo algo errado…

Está seguindo algum tutorial?

Agurado.>

caike_chb

ribclauport estou seguindo as vídeo aulas do curso de Java SE I do profº Neri A. Neitzke

http://www.informaticon.com.br/j/index.php/java-se-i-estoque.html

ribclauport

Fiz os testes aqui, porém no eclipse, e funcionou perfeitamente, quando passo uma query que não retorna resultados o JaperViewer emite uma mensagem
dizendo que o documento é "vazio", é o seu caso? Outra coisa posso estar bem enganado, mas é o seguinte esse executeSQL ae de onde saiu?
é um método criado por você? Bem mesmo com a query presente no jrxml aqui funcionou.

Java classe

package controller;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

public class TesteJasper {
	public static void main(String[] args) throws SQLException, JRException {
		Connection conex = ConnectionFactory.getConnection();
		Statement st = conex.createStatement();
		ResultSet rs = st
				.executeQuery("SELECT l.cad_nome FROM livraria.tbl_cadastro l where l.id_cadastro = 1");
		JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
		JasperPrint jasperPrint = JasperFillManager
				.fillReport(
						"C:\\Users\\claudemir\\workspace\\workRevisaoPorCatpitulo\\DuvidasGuj\\src\\relatorios\\report4.jasper",
						new HashMap(), jrRS);
		JasperViewer.viewReport(jasperPrint);

	}
}

class ConnectionFactory {
	public static Connection getConnection() throws SQLException {
		try {
			Class.forName("com.mysql.jdbc.Driver");

			return DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/livraria", "root", "root");
		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}

	}
}

jrxml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report4" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt; &lt;property name="ireport.zoom" value="1.0"/&gt; &lt;property name="ireport.x" value="0"/&gt; &lt;property name="ireport.y" value="0"/&gt; &lt;queryString&gt; &lt;![CDATA[SELECT tbl_cadastro.`cad_nome` AS cad_nome FROM `tbl_cadastro` tbl_cadastro]]&gt; &lt;/queryString&gt; &lt;field name="cad_nome" class="java.lang.String"/&gt; &lt;background&gt; &lt;band splitType="Stretch"/&gt; &lt;/background&gt; &lt;title&gt; &lt;band height="78" splitType="Prevent"&gt; &lt;staticText&gt; &lt;reportElement x="223" y="11" width="100" height="20"/&gt; &lt;textElement/&gt; &lt;text&gt;&lt;![CDATA[Teste]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;/band&gt; &lt;/title&gt; &lt;pageHeader&gt; &lt;band height="1" splitType="Stretch"/&gt; &lt;/pageHeader&gt; &lt;columnHeader&gt; &lt;band height="25" splitType="Stretch"&gt; &lt;staticText&gt; &lt;reportElement x="0" y="1" width="100" height="20"/&gt; &lt;textElement/&gt; &lt;text&gt;&lt;![CDATA[nome]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;/band&gt; &lt;/columnHeader&gt; &lt;detail&gt; &lt;band height="24" splitType="Stretch"&gt; &lt;textField&gt; &lt;reportElement x="0" y="0" width="100" height="20"/&gt; &lt;textElement/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{cad_nome}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/band&gt; &lt;/detail&gt; &lt;columnFooter&gt; &lt;band splitType="Stretch"/&gt; &lt;/columnFooter&gt; &lt;pageFooter&gt; &lt;band splitType="Stretch"/&gt; &lt;/pageFooter&gt; &lt;summary&gt; &lt;band splitType="Stretch"/&gt; &lt;/summary&gt; &lt;/jasperReport&gt;

da um print quando executar e posta o “relatorio vazio” para a gente ver e o console também. Segue o print de como abriu aqui.


caike_chb

ribclauport segue o print da classe…


caike_chb

ribclauport segue o print dos erros


caike_chb

ribclauport segue o print do relatório em branco


ribclauport

Faça o seguinte, comente a parte do relatório e iterere o result set, exatamente da forma que está o código abaixo, e ae poste o que saiu no console.

package relatorios;  
      
    import java.net.URL;  
    import java.util.*;  
    import javax.swing.JOptionPane;  
    import net.sf.jasperreports.engine.*;  
    import net.sf.jasperreports.engine.util.JRLoader;  
    import net.sf.jasperreports.view.JasperViewer;  
    import utilitarios.conexao;  
    import utilitarios.conexaoMySql;  
      
      
    public class rel_cadastro  
    {      
        conexaoMySql con = new conexaoMySql();  
          
        public rel_cadastro()  
        {  
            try    
            {    
                con.conecta();    
                con.executeSQL("SELECT * FROM tbl_cadastro ORDER BY cad_nome");   
                while(con.result.next()){
                    System.out.println(rs.getString(1));
                 }

                /* 
                JRResultSetDataSource jrRS = new JRResultSetDataSource(con.resultset);    
                JasperPrint jasperPrint = JasperFillManager.fillReport(  
                        "relatorios/rel_cadastro.jasper", new HashMap(), jrRS);    
                JasperViewer.viewReport(jasperPrint);    
              */
            }    
            catch(Exception erro)    
            {    
                JOptionPane.showMessageDialog(null,"Não foi possivel gerar relatório! "+erro);    
            }  
         }  
          
        public static void main(String args[])  
        {  
            new rel_cadastro();  
        }  
           
    }
ribclauport

Voce printou um “pedaço” da saída do console print o “começo”, ou seja o final da pilha, jogue o scroll para “cima”, pois é lá que vai estar o resultado da chamada do relatório na pilha.

caike_chb

ribclauport está ai


caike_chb

esse é o começo dos erros na saída


ribclauport

Você esqueceu de acrescentar essa parte!
como está no codigo que mandei:

while(con.result.next()){ System.out.println(rs.getString(1)); }

caike_chb

Ah tá!.. perdão. tá ai o resultado da saída:

run: 5231 5335 5633 6650 CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

ribclauport

Bom, as saidas no console não são erros como eu havia dito, são “infos”, em algum lugar seu log4j, deve estar configurado para “escapar” as informações no console, bem, tiramos a possibilidade do result set estar vindo vazio, você também garante que testou seu jasper, na ferramenta ireport, certo?

Sendo assim a única coisa que eu penso se as informações acima estão corretas, é que pode ter alguma incompatibilidae entre a versão do ireport, que você gerou seu jasper, e a que o netbeans está usando, verifique a compatibilidade, dos dois jars, e tente fazer outro relatório com apenas um campo e testar novamente, pois é o que eu tenho para dizer, realmente fora isso é duro dizer mas, não sei.

Criado 22 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 19
Participantes 2