Pessoal bom dia a todos,
Preciso fazer um select no banco quando o usuário clicar e um botão, o resultado exibir em relatório, estou usando o iReport-1.3.1
segue abaixo o código que estou usando:
minha classe de conexão com o banco:
[code]package Telas;
import java.sql.*;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class conexao1 {
final private String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
//final private String url = “jdbc:odbc:AgendaNetBeans”;
final private String url = “jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}” +
“;DBQ=c:/Despesa”;
private Connection conexao;
public Statement statement;
public ResultSet resultset;
public boolean Conecta(){
boolean result = true;
try{
Class.forName(driver);//Carrega o driver
conexao = DriverManager.getConnection(url);//Estabelece a conexão //
}catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null,"Driver não localizado" + Driver);
result = false;
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null,"Deu erro na conexão com " +
"a fonte de Dados" + Fonte);
result = false;
}
return result;
}
public void execulteSQL(String sql){
try
{
statement = conexao.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}catch(SQLException sqlex){
JOptionPane.showMessageDialog(null,"Não foi possivel " +
"execultar o comando sql, " + sqlex + " o sql passado foi" + sql);
}
}
Object get(int selectedRow) {
throw new UnsupportedOperationException("Not yet implemented");
}
}
classe responsável pelo relatorio
public class relatorio {
Conexao conecta = new Conexao();
public relatorio(){
try{
conecta.conecta();
conecta.execulteSQL("SELECT * FROM Despesas");
JRResultSetDataSource jrSR = new JRResultSetDataSource(conecta.resultset);
JasperPrint jasperPrint = JasperFillManager.fillReport(
"c:/Arquivos de programas/relatorio/despesas.jasper", new HashMap(),jrSR);
JasperViewer jrv = new JasperViewer(jasperPrint,false);
jrv.setVisible(true);
}catch(Exception erro){
JOptionPane.showMessageDialog(null,"Relatório não encontrado: \n" +
"" + erro, "ATENÇÂO",JOptionPane.ERROR_MESSAGE);
}
}
}
private void btConsultaActionPerformed(java.awt.event.ActionEvent evt) {
//exibe o relatório
new relatorio.relatorio();
}[/code]Porém quando clico no botão consultar, o sistema me dá o seguinte erro:
net.sf.jasperreports.egine.JRException:Class not found when loading object from file: c:\Arquivos de programas\relatorio\despesas.jasper
Alguém pode me ajuda por favor, agradeço