Parametro ireport

1 resposta
rodrigodsw2005

Olá pessoal !! estou com o seguinte problema:

obs.:tenho 2 conexao diferentes.

meu parametro e a query no ireport :
select nome from pfunc where chapa = $P{pMaster}
-> parametro 'pMaster' é um Object
public ArrayList<Prova> consultaRelatorio() {

        ResultSet rsRel = null;
        try {

            conn = Conexao.getConnection(); -> conexao 1
            queryMaster = conn.prepareStatement("SELECT prova.idfunc, SUM(pontuacao.valorpontuacao) " +
                    "AS pontuacao FROM prova INNER JOIN pontuacao ON prova.idpontuacao = pontuacao.idpontuacao " +
                    "WHERE (prova.ano = '2008') group by idfunc");
            rsRel = queryMaster.executeQuery();

            while (rsRel.next()) {
                Prova p = new Prova();
                p.setIdfunc(rsRel.getString("idfunc"));
                lista.add(p);
            }

        } catch (SQLException ex) {
            ex.printStackTrace();
        } 

        return lista;
    }  
public void geraRelatorio(ArrayList<Prova> id, String reportName) {

        try {

            JRDataSource jr = new JRBeanCollectionDataSource(id);
            InputStream relatorio = getClass().getResourceAsStream(reportName);

            HashMap parametros = new HashMap();
            parametros.put("pMaster", jr);

            JasperPrint print = JasperFillManager.fillReport(relatorio, parametros, Conexao.getConnectionRM() -> conexao 2);
            JasperViewer jv = new JasperViewer(print, false);
            jv.setVisible(true);

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public static void main(String args[]) {

        Query q = new Query();
        ArrayList relatorio;
        String local = null;
        local = "report7.jasper";
        q.geraRelatorio(q.consultaRelatorio(), local);


    }
Erro:
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query : 

select nome from pfunc where chapa = ?
Caused by: java.sql.SQLException: Unable to convert between net.sf.jasperreports.engine.data.JRBeanCollectionDataSource and JAVA_OBJECT.
        at net.sourceforge.jtds.jdbc.Support.convert(Support.java:446)
        at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:370)

1 Resposta

viniciuspadua

Tive um problema que pode utilizar para resolver isso que quer.
veja http://www.guj.com.br/posts/list/114532.java la existe um tutorial, de uma olhada!

Criado 9 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 1
Participantes 2