faxX
Julho 26, 2007, 12:19pm
#1
Ola
nao estou conseguindo gerar um relatorio simples…
ele nao da erro nenhum mas nao da certo tb…
codigo:
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.view.JasperViewer;
public class Teste {
public static void main (String [] args){
Connection connection;
ResultSet resultSet ;
Statement statement;
try
{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/academico";
String userName = "academico";
String password = "academico";
String query = "SELECT * FROM TBALUNO";
connection = DriverManager.getConnection(url,userName, password);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
File reportFile = new File("reports/academico.jasper");
[color=red]//ele nao passa daqui , e tambem não da erro nenhum.... [/color]
JasperRunManager.runReportToPdfFile(reportFile.getAbsolutePath(), new HashMap(), new JRResultSetDataSource(resultSet));
JasperViewer.viewReport( "reports/academico.pdf", false );
}
catch (Exception e)
{
}
finally
{
}
}
}
se alguem puder me ajudar…
grato desde ja…
Se você colocar algum código de debug no catch{} não vai ajudar?
Você tem que fazer o tratamento para cada exceção que ocorrer:
banco de dados (SQLException)
leitura/escrita de arquivos (FileNotFoundException)
e do Jasper (não me lembro das classes Exception respectivas).
OK?
faxX
Julho 26, 2007, 12:27pm
#3
o problema é que nao gera nenhuma excecao…
o programa vai até :
[color=darkblue]
JasperRunManager.runReportToPdfFile(reportFile.getAbsolutePath(), new HashMap(), new JRResultSetDataSource(resultSet));[/color]
e depois para…
mas nao é gerado nenhum tipo de excecao…
o que devo fazer?
Ratao
Julho 26, 2007, 12:37pm
#4
Vc está chamando o JasperViewer e passando um PDF como parâmetro para ele.
Onde vc esta criando o relatório??? Está abrindo esse PDF???
Ratao
Julho 26, 2007, 1:00pm
#5
Altere na sua classe o Exception, coloque assim:
catch (Exception e){
e.printStackTrace();
}
Ai sim vc vai ver o retorno da excessão!
Vamos lá.
import java.io.File;
import java.io.FileNotFoundException;
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.JasperRunManager;
import net.sf.jasperreports.view.JasperViewer;
public class Teste {
public static void main(String[] args) {
Connection connection;
ResultSet resultSet;
Statement statement;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/lojavirtual";
String userName = "lojavirtual";
String password = "lojavirtual";
String query = "SELECT * FROM jpa_tech_supp";
connection = DriverManager.getConnection(url, userName, password);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
File reportFile = new File("reports/technical.jasper");
//ele nao passa daqui , e tambem não da erro nenhum....
JasperRunManager.runReportToPdfFile(reportFile.getAbsolutePath(),
new HashMap(), new JRResultSetDataSource(resultSet));
JasperViewer.viewReport("reports/academico.pdf", false);
}
catch( ClassNotFoundException cnfEx ){
System.out.println( cnfEx.getMessage() );
}
catch( SQLException sqlEx ){
System.out.println( sqlEx.getMessage() );
}
catch( JRException jrEx ){
System.out.println( jrEx.getMessage() );
}
}
}
Por aqui ocorreu uma java.io.FileNotFoundException: o arquivo technical.jasper não existe. E realmente eu não tenho esse arquivo!
Teste o código acima.
OK?
Ratao
Julho 26, 2007, 1:11pm
#7
File reportFile = new File("reports/technical.jasper");
Olhe esta linha ai no seu codigo.
Ratao
Julho 26, 2007, 1:39pm
#8
Mudei algumas coisinha ae:
package RelatorioJava;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.view.JasperViewer;
public class Teste {
public static void main(String[] args) {
Connection connection;
ResultSet resultSet;
Statement statement;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/academico";
String userName = "root";
String password = "masterkey";
String query = "SELECT * FROM tbaluno";
connection = DriverManager.getConnection(url, userName, password);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);
JasperFillManager.fillReportToFile("academico.jasper", new HashMap(), connection);
JasperExportManager.exportReportToPdfFile("academico.jrprint");
JasperViewer.viewReport("academico.jrprint", false);
}
catch(Exception e){
e.printStackTrace();
}
}
}
Abraço!