Parametros no iReport

po estou querendo uma ajudinha
estou tentando colocar minha SQL no iReport
mais ou menos assim

SELECT
TABPROF.CODPROF,MOVVALE.CODPROF,NOMPROF,SALPROF,CODVALE,PGMOV,DTPGMOV,DTMOV
FROM
TABPROF INNER JOIN MOVVALE ON TABPROF.CODPROF = MOVVALE.CODPROF

WHERE $P{PGMOV} n sei o que dovo fazer aqui no where pra jogar um parâmetro
e no codigo parece que seria algo do tipo

Map parametros = new HashMap(); parametros.put("$P!{CODPROF}",jTCodigo.getText()); parametros.put("$P!{PGMOV}", 'n');

por que você não passa a própria sql com os parâmetros já?
ou seja… sete os parâmetros da sql no próprio java e depois envie a sql pronta para o iReport

[quote=colosos=colossus]po estou querendo uma ajudinha
estou tentando colocar minha SQL no iReport
mais ou menos assim

SELECT
TABPROF.CODPROF,MOVVALE.CODPROF,NOMPROF,SALPROF,CODVALE,PGMOV,DTPGMOV,DTMOV
FROM
TABPROF INNER JOIN MOVVALE ON TABPROF.CODPROF = MOVVALE.CODPROF

WHERE $P{PGMOV} n sei o que dovo fazer aqui no where pra jogar um parâmetro
e no codigo parece que seria algo do tipo

Map parametros = new HashMap(); parametros.put("$P!{CODPROF}",jTCodigo.getText()); parametros.put("$P!{PGMOV}", 'n');
[/quote]

Olá.
Pelo que entendi, você não escreveu a clausula WHERE, já que o parametro $P{PGMOV} é igual à ‘N’.
Tente algo como isso:

final String where = " tabela.coluna = ".concat(jTCodigo.getText())).concat(" and tabela.coluna = ").concat("n");
parametros.put("PGMOV", where);

E na query no iReport, adicione uma ! (exclamação) depois do $P:

SELECT
TABPROF.CODPROF,MOVVALE.CODPROF,NOMPROF,SALPROF,CODVALE,PGMOV,DTPGMOV,DTMOV
FROM
TABPROF INNER JOIN MOVVALE ON TABPROF.CODPROF = MOVVALE.CODPROF 
WHERE $P!{PGMOV}

Acredito que isso vai te ajudar.

[]'s
JL

meu código

@SuppressWarnings("static-access") private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) { try { String jasperFile = "C:\Arquivos de programas\projetosNetBeans\Controledevales\src\printvale.jasper"; Class.forName(driver); Connection con = DriverManager.getConnection(url, login, pwd); stam = con.createStatement(); Map parametros = new HashMap(); parametros.put("COD", jTCodigo.getText()); if (jRadioButtonPago.isSelected()) { parametros.put("PG", "'s'"); } else if (jRadioButtonAberto.isSelected()) { parametros.put("PG", "'n'"); } else { parametros.put("PG", "'n'"); } this.impr = JasperFillManager.fillReport("C:\Arquivos de programas\projetosNetBeans\Controledevales\src\printvale.jasper", parametros, con); JasperFillManager.fillReportToFile(jasperFile, parametros, con); JasperViewer ver = new JasperViewer(impr, false); ver.viewReport(impr, false); } catch (SQLException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(null, "1- ERRO\n" + ex.getLocalizedMessage()); } catch (JRException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(null, "2- ERRO\n" + ex.getLocalizedMessage()); } catch (ClassNotFoundException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(null, "3- ERRO\n" + ex.getLocalizedMessage()); } }
No IReport

[color=blue]Mudei um pouco awe [/color]
Mais continua dando " esse documento n contem paginas"

Boa tarde

Será que esse where dentro do join nao esta incorreto? coloque apenas and no lugar desse where.

Att.

[quote=ManoJava]Boa tarde

Será que esse where dentro do join nao esta incorreto? coloque apenas and no lugar desse where.

Att.[/quote]

ON no lugar do WHERE ?
poderia fazer pra mim
acho que n compriendi o que vc quer!!,…

Olá,
Você não precisa passar nos parametros com as tags do iReport, portanto, substitua:

parametros.put("$P{COD}", Integer.parseInt(jTCodigo.getText()));

por

parametros.put("COD", Integer.parseInt(jTCodigo.getText()));

, pois as tags $P{} são do iReport.

Outra, sua classe esta muito complexa. Essa complexidade é realmente necessária?

[]'s
JL

o editei la em cima

Mudei um pouco
mais continua o mesmo problema
da uma olhada la

ta resolvido o problema olha meu codigo atual

@SuppressWarnings("static-access")
    private void jBImprimirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        try {
            data = dataformatador.parse(jFormattedTextField3.getText());
            data2 = dataformatador.parse(jFormattedTextField6.getText());
            String jasperFile = "C:\Documents and Settings\developing java\Desktop\relatorios\report1.jasper";
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url, login, pwd);
            stam = con.createStatement();
            Map parametros = new HashMap();
            parametros.put("COD", jTCodigo.getText());
            if (jRadioButtonPago.isSelected()) {
                parametros.put("PG", "s");
            } else if (jRadioButtonAberto.isSelected()) {
                parametros.put("PG", "n");
            } else {
                parametros.put("PG", "n");
            }
            parametros.put("DT", dataformatador2.format(data));
            parametros.put("DTA", dataformatador2.format(data2));
            this.impr = JasperFillManager.fillReport(jasperFile, parametros, con);
            JasperFillManager.fillReportToFile(jasperFile, parametros, con);
            JasperViewer ver = new JasperViewer(impr, false);
            ver.viewReport(impr, false);
        } catch (ParseException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "1- ERRO\n" + ex.getLocalizedMessage());
        } catch (SQLException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "2- ERRO\n" + ex.getLocalizedMessage());
        } catch (JRException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "3- ERRO\n" + ex.getLocalizedMessage());
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "4- ERRO\n" + ex.getLocalizedMessage());
        }
    }

no relatorio

SELECT
*
FROM
TABPROF INNER JOIN MOVVALE ON TABPROF.CODPROF = MOVVALE.CODPROF
WHERE TABPROF.CODPROF = $P{COD} AND PGMOV= $P{PG} AND DTMOV BETWEEN $P{DT} and $P{DTA}