Pessoal,
Copiei um código aqui mesmo no guj de conexão com relatorio iReport para aprender como funfa isso ai…
Mas tá dando o seguinte erro:
Exception in thread "main" java.lang.NullPointerException
at RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:48)
at RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:75)
O código é o seguinte:
import javax.swing.JOptionPane;
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 java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.view.JasperViewer;
public class RelatorioBibliotecaPessoal {
static Connection con = null;
/* Real za con tornani exão com o banco de dados, re do o objeto Connection */
private static Connection getConnection( ) throws
ClassNotFoundException, SQLException {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String dsn = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};"+
"DBQ=E:/Base_Teste.mdb";
con = DriverManager.getConnection(dsn,"","");
}
catch(Exception ex) {
JOptionPane.showMessageDialog(null,"Driver ou Banco de Dados não Encontrados!","Erro",JOptionPane.ERROR_MESSAGE);
ex.printStackTrace(); }
return con;
}
/* Gera Relatorio e visualiza-o */
public void geraRelatorio( ) throws JRException, Exception {
Statement stm = con.createStatement();
String query = "select * from Livro";
ResultSet rs = stm.executeQuery( query );
/* implementação da interface JRDataSource para DataSource ResultSet */
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/* HashMap de parametros utilizados no relatório. Sempre instanciados */
Map parameters = new HashMap();
// parameters.put("COLUNA", valor);
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
JasperFillManager.fillReportToFile( "E:/Arquivos de programas/JasperSoft/iReport-1.3.0/teste_relatorio.jasper", parameters, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "E:/Arquivos de programas/JasperSoft/iReport-1.3.0/teste_relatorio.jasper" );
/* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
a necessidade do .jrprint */
// JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
/* Visualiza o relatório em formato PDF */
JasperViewer.viewReport( "BibliotecaPessoal.pdf", false );
}
public static void main(String[] args) throws JRException, Exception {
new RelatorioBibliotecaPessoal().geraRelatorio();
}
}
Por que ocorre esse erro e como posso resolvê-lo?
Obrigado