Galera, to com um probleminha meio xato aki…
e meio urgente…
eu criei uma classe Relatorio, que possui os metodos pra trabalha com os relatorios do IReport e tal…
e a minha aplicação tem um menu, e quando a pessoa escolher o item produto do menu relatorio, teria q mostrar o relatorio… so q da erro… e um erro estranho por sinal…
o netbeans indica erro de nome de coluna…
essa é minha classe relatorio:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ms;
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
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 java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JRViewer;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author Ton
*/
public class Relatorio {
conexaoBD conn=new conexaoBD();
ResultSet res;
public void Relatorio(){
}
public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {
String sql = "SELECT * FROM Produto";
conn.Conecta();
res=conn.Consulta(sql);
//implementação da interface JRDataSource para DataSource ResultSet
JRResultSetDataSource jrRS = new JRResultSetDataSource( res );
//executa o relatório
Map parametros = new HashMap();
parametros.put("Código", new Integer(2));
/* Preenche o relatório com os dados. Gera o arquivo produto.jrprint */
JasperFillManager.fillReportToFile( "produto.jasper", parametros, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "produto.jrprint" );
}
/*public static void main(String[] args) {
try {
new Relatorio().gerar( "produto.jasper" );
} catch (Exception e) {
e.printStackTrace();
}
}
*/
}
e essa é a minha classe menu, q cria um objeto relatorio e chama o metodo gerar():
private void menuitem_relatorio_produtosActionPerformed(java.awt.event.ActionEvent evt) {
try{
Relatorio relatorio=new Relatorio();
relatorio.gerar("produto.jasper");
}catch(Exception e){
e.printStackTrace();
}
}
eu rodo o programa, vo no menu, e clico em relatorio e produto… blz…
ai da esse erro:
net.sf.jasperreports.engine.JRException: Unknown column name : Produto_cdProduto
at net.sf.jasperreports.engine.JRResultSetDataSource.getColumnIndex(JRResultSetDataSource.java:359)
at net.sf.jasperreports.engine.JRResultSetDataSource.getFieldValue(JRResultSetDataSource.java:116)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:822)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:786)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1413)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:899)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:821)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:628)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:517)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:469)
at ms.Relatorio.gerar(Relatorio.java:57)
at ms.Menu.menuitem_relatorio_produtosActionPerformed(Menu.java:345)
at ms.Menu.access$900(Menu.java:20)
at ms.Menu$10.actionPerformed(Menu.java:192)
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:1225)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
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)
axei mto estranho isso, pq eu consigo visualizar o relatorio pelo IReport e pelo plugin dele no netbeans…
mas ai qdo eu compilo ele diz q a coluna cdProduto é desconhecida… mesmo qdo eu mudo o select pra pega apenas a descricao do produto, ele continua dando esse erro… eu ja nao sei mais oq fazer com isso…
se eu mudo o nome do arkivo de produto.jasper pra qq otra coisa, na classe menu, ele nao axa o arkivo e acusa esse erro normal, mas se eu mudo dentro da classe relatorio, nao tem problema nenhum… nao acusa nada…
galera… eu so novato em java, to terminando um projeto do meu estagio supervisionado… tenho q entrega isso prontinho dia 9, e ainda nao consegui implementa esses relatorios… esse é o primero na verdade…
por favor, me ajudem…
agradeço a kem puder me ajuda…
