Estou tendo dificuldades para enviar dados para relatórios usando o iReport. Já peguei vários exemplo da internet mas nenhum funcionou. Estou usando o NetBeans.
Eu peguei o seguinte exemplo da net:
import java.sql.*;
import java.util.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;
public class bairros
{
/* Realiza conexão com o banco de dados, gerando o objeto Connection */
private static Connection getConnection( ) throws
ClassNotFoundException, SQLException
{
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/sistema";
String username = "root";
String password = "windows";
Class.forName(driver);
Connection con = DriverManager.getConnection( url, username, password );
return con;
}
/* Gera Relatorio e visualiza-o */
public void geraRelatorio( ) throws JRException, Exception
{
Connection con = getConnection( );
Statement stm = con.createStatement( );
String query = "SELECT nome from cliente";
ResultSet rs = stm.executeQuery( query );
/* implementação da interface JRDataSource para DataSource ResultSet */
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/* HashMap de parametros utilizados no relatório. Sempre instanciados */
Map parameters = new HashMap();
JasperReport jr;
JasperPrint jprint;
jr = JasperCompileManager.compileReport("Nota_Fiscal.jrxml");
jprint = JasperManager.fillReport(jr, parameters, jrRS);
JasperViewer.viewReport(jprint);
}
public static void main(String[] args) throws JRException, Exception
{
new bairros().geraRelatorio();
}
}
Mas dá o seguinte erro.
No meu relatório que eu criei tem apenas um campo a ser preenchido, que é NOME.
O que fazer? Alguém tem algum exemplo usando o NetBeans que faça funcionar isso?
Obrigado