Tenho um sistema que era para gerar um sistema simples de relatorio atraves do Jasper, mas está apresentando erro no relatorio, a seguir tem o conteudo do botão e do erro apresentado:
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: Armação.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:79)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:232)
at Produtos.Armacao.JB_RelatorioActionPerformed(Armacao.java:551)
at Produtos.Armacao.access$400(Armacao.java:43)
at Produtos.Armacao$5.actionPerformed(Armacao.java:329)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.io.FileNotFoundException: Armação.jasper
... 30 more
method getResourceAsStream in class java.lang.Class cannot be applied to given types
required: java.lang.String
found: java.lang.String, java.util.HashMap, java.sql.Connection
a unica string que tem ai é a conn que já está declarada:
Will, leia a excessão: The supplied java.sql.Connection object is null
A conexão que você está passando não está sendo criada.
Confira se os dados parâmetros passados para a criação da conexão estão corretos.
Caras muito obrigado pela ajuda que vcs estão dando !!! Consegui resolver o problema d aconecção com o banco de dados nesse caso o Mysql, só que apareceu outro, o relatorio não está gerando os dados, ele monta o relatorio só que nw preenche nada, não dá erro, ele está conectando ao banco, criei uma classe só para cuidar da conecção mas não está preenchendo o relatorio!! o que pode ser, preciso fazer um select ante? segue a baixo o conteudo do botão:
[code]
Connection conn = new conecao().conectar();
if (conn != null) {
Galera realmente não sei o pq nw está sendo preenchido o relatorio já refiz a conecção do plugin do netbeans a classe o botão, e só está sendo preenchindo o cabeçario do relatorio nada mais, preciso desse relatorio e nada de conseguir alguma sugestão??!?!?
Classe responsável pela conecção:
[code]public class conecao {
public Connection conectar(){
// base de dados é “test”
String url = “jdbc:mysql://localhost:3306/otica”;
String usuario = “root”;
String senha = “will@958”;
try{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection conn = DriverManager.getConnection(url, usuario,senha);
return conn;
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
return null;
}
catch(Exception e){
System.out.println("Problemas ao tentar conectar com o bancode dados: " + e);
return null;
}
}
}[/code]
[code]Galera realmente não sei o pq nw está sendo preenchido o relatorio já refiz a conecção do plugin do netbeans a classe o botão, e só está sendo preenchindo o cabeçario do relatorio nada mais, preciso desse relatorio e nada de conseguir alguma sugestão??!?!?
Classe responsável pela conecção:
[code]public class conecao {
public Connection conectar(){
// base de dados é “test”
String url = “jdbc:mysql://localhost:3306/otica”;
String usuario = “root”;
String senha = “will@958”;
try{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection conn = DriverManager.getConnection(url, usuario,senha);
return conn;
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
return null;
}
catch(Exception e){
System.out.println("Problemas ao tentar conectar com o bancode dados: " + e);
return null;
}
}
}[/code]
Amigo refiz o botão mas ainda nw consegui resolver, poderia me ajudar? É a primeira vez que mexo com o ireport e to apanhando demais! O botão ficou assim agora:
[code] CallableStatement CS = null;
Connection conn = new conecao().conectar();
Então cara como falei to perdidão é a primeira vez que mexo com relatorios! Nw faço nem ideia de como recriar essa classe para poder fazer a conecção direta com o banco ou de como preencher esse relatorio!
Seguindo o conselho do TheKill pesquisei mais um pouco na net e achei alguns exemplos que tentei aplicar ao meu relatorio mas sem conseguir o resultado esperado o botão está da seguiinte maneira: