Duvida no IReport

Ola Galera!!!

Sou novato com o trabalho do iReport, o meu sistema eu trabalho com

Persistence, e gostaria de uma ajuda para poder chamar um relatorio do iReport

com um comando de SQL externo, e não com o SQL que eu criei o relatório,

isso significa com parametros do programa.

abraços

Edilson

Web ou Desktop?

vlw

Amigão eu estou trabalhando em

Desktop

Vlw

Isso eh simples

  1. Crie um parametro no seu relatorio, MINHA_SQL, por exemplo e defina no “valor padrao” dela a sql que voce usa no desenvolvimento dentro do ireport.
  2. No local onde voce digitou a sql, troque por $P{MINHA_SQL}
  3. Na hora de chamar o relatorio de dentro do java, passe como parametro para o relatorio a sql que voce quiser (obivamente o resultado precisa ser consistente com a sql original, mudando coisas como where, order by , etc

[]s

Continuar com sql do seu relatório normal,

incluindo parametros adicionais de cláusulas apartir do sistema (aplicação) ??

Eu coloquei o parametro no ireport e testei funcionou blz,

mais quando vou chamar o relatorio no NetBeans ele dá erro.

estou chamendo o relatório assim:

[code]public static void ExibirRelatorioAulas() throws JRException {

    Map<String, Object> parametros = new HashMap<String, Object>();
    parametros.put("TITULO_RELATORIO", "Listagem de Aulas");
    parametros.put("MEU_SQL", FramePrincipal.getdia);

    URL uriArquivo = RelatorioUtil.class.getResource("/SysUtiliza/relatorios/Aulas.jasper");
    String arquivojasper = uriArquivo.getFile();
    JasperPrint jasperPrint = JasperFillManager.fillReport(arquivojasper, parametros);
   
    JasperViewer.viewReport(jasperPrint);
}

[/code]

mais quando executo ele apresenta o seguinte erro:

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
at net.sf.jasperreports.components.ComponentsExtensionsRegistryFactory.(ComponentsExtensionsRegistryFactory.java:86)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:198)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:175)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:135)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:121)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:98)
at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:76)
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:181)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:76)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:86)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:56)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:114)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:271)
at SysUtiliza.relatorios.RelatorioUtil.ExibirRelatorioAulas(RelatorioUtil.java:38)
at SysUtiliza.aparencia.FramePrincipal.jMenuItem1ActionPerformed(FramePrincipal.java:700)
at SysUtiliza.aparencia.FramePrincipal.access$1300(FramePrincipal.java:38)
at SysUtiliza.aparencia.FramePrincipal$12.actionPerformed(FramePrincipal.java:511)
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.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Rule
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
… 51 more

alguem pode me ajudar com esse problema

abs

Falta adicionar as lib do iReport no buildPath.

Commons-Digester.jar

Amigão eu coloquei esse .jar, qual mais teria que colocar

pq continua não funcionando, como mais ou menos o mesmo erro

me ajuda ae amigão

abs

ps.: assim como no erro anteriormente estava

java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule 

os outros são todos parecidos… deve ver o nome que esta faltando e adicionar ao BuildPath,
não tenho como adivinhar qual erro que deu ai né…

Commons-lang,
Commons-Io,
i-Text,

enfim, são muitos jars… cabe dar uma olhada na pasta dos Jars que tem no diretório de instalação do iReport

Att. Jonas

vlw,

vou dar uma olhada, qq coisa do um alo

Edilson

[quote=TheKill]ps.: assim como no erro anteriormente estava

java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule 

os outros são todos parecidos… deve ver o nome que esta faltando e adicionar ao BuildPath,
não tenho como adivinhar qual erro que deu ai né…

Commons-lang,
Commons-Io,
i-Text,

enfim, são muitos jars… cabe dar uma olhada na pasta dos Jars que tem no diretório de instalação do iReport

Att. Jonas[/quote]

Fiz o que vc me falou mais rodando dentro do Netbeans o relatorio funciona beleza,

mais depois quando gero o arquivo .jar do aplicativo o relatório não funciona,

ele informa que o arquivo .jasper não exeiste ou nao foi localizada,

vou mandar uma imagem com o erro gerado na console, vc pode ver o pq

ocorreu esse erro

abs

Edilson