Ireport Converte String para DATA, comparação de parametros ![resolvido]

31 respostas
juniorsatanas

Tenho um campo data do cadastro, quero pegar todos os clientes que tenha a data do cadastro, igual entre duas datas PARÂMETROS !

SELECT
     cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,
     cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,
     cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,
     cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro
FROM
"sigi"."cliente_fisica" cliente_fisica

WHERE clfi_data_cadastro

BETWEEN  date'$P{DATAINICIO}' AND date'$P{DATAFIM}'

To pegando este erro :

Compiling to file... /home/junior/06102010/Catequese/src/java/br/com/catequese/relatorio/relClientesFisicoAtentidoPorPeriodo.jasper
Compilation running time: 337! 
  Filling report...
  Locale: português (Brasil)
  Time zone: Default
Error filling print... Error preparing statement for executing the report query :   SELECT      cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,      cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,      cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,      cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro FROM "sigi"."cliente_fisica" cliente_fisica  WHERE clfi_data_cadastro  BETWEEN  date'?' AND date'?'   
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query :   SELECT      cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,      cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,      cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,      cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro FROM "sigi"."cliente_fisica" cliente_fisica  WHERE clfi_data_cadastro  BETWEEN  date'?' AND date'?'       at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:240)     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:131)     at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)     at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)     at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:877)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: org.postgresql.util.PSQLException: O índice da coluna está fora do intervalo: 1, número de colunas: 0.     at org.postgresql.core.v3.SimpleParameterList.bind(SimpleParameterList.java:52)     at org.postgresql.core.v3.SimpleParameterList.setStringParameter(SimpleParameterList.java:117)     at org.postgresql.jdbc2.AbstractJdbc2Statement.bindString(AbstractJdbc2Statement.java:2123)     at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1244)     at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1230)     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:411)     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:257)     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:232)     ... 12 more 
Print not filled. Try to use an EmptyDataSource...

Se eu fazer assim :

SELECT
     cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,
     cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,
     cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,
     cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro
FROM
"sigi"."cliente_fisica" cliente_fisica

WHERE clfi_data_cadastro

BETWEEN  $P{DATAINICIO} AND $P{DATAFIM}

da este erro :

Filling report...
  Locale: português (Brasil)
  Time zone: Default
Error filling print... Error executing SQL statement for : relClientesFisicoAtentidoPorPeriodo 
net.sf.jasperreports.engine.JRException: Error executing SQL statement for : relClientesFisicoAtentidoPorPeriodo     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:143)     at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)     at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)     at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:877)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: org.postgresql.util.PSQLException: ERRO: operador não existe: date >= character varying     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)     at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)     at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)     at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)     at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)     at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:137)     ... 11 more 
Print not filled. Try to use an EmptyDataSource...
********************************************************************************************************************************************** Caused by: org.postgresql.util.PSQLException: ERRO: operador não existe: date >= character varying **********************************************************************************************************************************************

Que diabos é isso ?

31 Respostas

davidbuzatto

Configure os parâmetros com o tipo java.util.Date e insira direto na query.
Obviamente é necessário passar os valores pelo mapa de parâmetros como objetos do tipo date.
Se você quer mesmo usar os parâmetros como Strings p/ usar a função de conversão (cada banco vai ser de um jeito…), vc precisa usar os parênteses ( date($P{nomeParametro}) )

[]´s

juniorsatanas

davidbuzatto Bom dia Tudo bem por ai ?

Vou seguir sua dica aqui ! valeu boa semana

JR.

juniorsatanas

Ficou Assim :
SELECT
cliente_fisica.“clfi_cpf” AS cliente_fisica_clfi_cpf,
cliente_fisica.“clfi_nome” AS cliente_fisica_clfi_nome,
cliente_fisica.“clfi_pk_id” AS cliente_fisica_clfi_pk_id,
cliente_fisica.“clfi_data_cadastro” AS cliente_fisica_clfi_data_cadastro
FROM
“sigi”.“cliente_fisica” cliente_fisica

WHERE clfi_data_cadastro

BETWEEN (date($P{DATAINICIO})) AND (date($P{DATAFIM}))

Mas mesmo assim não gerou o PDF, mas não deu erro ! no postgresql pega normal, lista por data etc…

Será que é BUG do Ireport ?

       [img]http://lh6.ggpht.com/_nTzBoYSeT2I/TLxSMvmDC9I/AAAAAAAAEMI/Rg80xUTw4aI/s720/t1.png[/img]



juniorsatanas

Se eu por os parâmetros como jata.util.data

da este erro :

Compiling to file… /home/junior/06102010/Catequese/src/java/br/com/catequese/relatorio/relClientesFisicoAtentidoPorPeriodo.jasper
Errors compiling /home/junior/06102010/Catequese/src/java/br/com/catequese/relatorio/relClientesFisicoAtentidoPorPeriodo.jasper!
Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@1c99a17c net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ <----------------------------------------------------------------> 2. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ <-------------------------------------------------------------------> 3. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ <----------------------------------------------------------------> 4. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ <-------------------------------------------------------------------> 5. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ <----------------------------------------------------------------> 6. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ <-------------------------------------------------------------------> 6 errors at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:191) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:498) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Compilation running time: 125

davidbuzatto

Junior,

Não é suficiente apenas passar os parâmetros como Date (pelo mapa de parâmetros). Vc precisa modificar o tipo do parâmetro tbm. Dentro do iReport, no Report Inspector, procure pelos parâmetros que você está usando. Selecione cada um e veja o tipo da Expression Class - ou Parameter Class, não lembro o nome - nas propriedades. Provavelmente lá vai estar como String, por isso o erro. Mude para java.util.Date.

Mude a query para:

SELECT
    cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,
    cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,
    cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,
    cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro

FROM
    "sigi"."cliente_fisica" cliente_fisica

WHERE 
    clfi_data_cadastro BETWEEN $P{DATAINICIO} AND $P{DATAFIM}
Teste e veja se funciona.

[]´s

juniorsatanas

Fiz da maneira que vc Falou !

Da este erro :

Compiling to file... /home/junior/06102010/Catequese/src/java/br/com/catequese/relatorio/relClientesFisicoAtentidoPorPeriodo.jasper Errors compiling /home/junior/06102010/Catequese/src/java/br/com/catequese/relatorio/relClientesFisicoAtentidoPorPeriodo.jasper! Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@7daf053e net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ &lt;----------------------------------------------------------------&gt; 2. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ &lt;-------------------------------------------------------------------&gt; 3. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ &lt;----------------------------------------------------------------&gt; 4. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ &lt;-------------------------------------------------------------------&gt; 5. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAFIM.getValue())); //$JR_EXPR_ID=14$ &lt;----------------------------------------------------------------&gt; 6. Cannot cast from Date to String value = (java.lang.String)(((java.util.Date)parameter_DATAINICIO.getValue())); //$JR_EXPR_ID=15$ &lt;-------------------------------------------------------------------&gt; 6 errors at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:191) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:498) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Compilation running time: 130

davidbuzatto

Olhe o erro:
[color=red][size=18]Cannot cast from Date to String[/size][/color]

Você precisa mudar o tipo do parâmetro. Vc fez isso?

juniorsatanas

Sim veja na imagem AVAILABLE PARAMETERES ! está como date !

TheKill

Ele só mudou na paleta onde mostra os parameters,

Tem que mudar no seu Query também. porque ele deve estar String

juniorsatanas
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="relClientesFisicoAtentidoPorPeriodo" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt;
    &lt;property name="ireport.zoom" value="1.0"/&gt;
    &lt;property name="ireport.x" value="0"/&gt;
    &lt;property name="ireport.y" value="0"/&gt;
    &lt;parameter name="DATAINICIO" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;parameter name="DATAFIM" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;queryString&gt;
        &lt;![CDATA[SELECT
       cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,
       cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,
       cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,
       cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro

   FROM
       "sigi"."cliente_fisica" cliente_fisica

   WHERE
     clfi_data_cadastro BETWEEN $P{DATAINICIO} AND $P{DATAFIM}]]&gt;
    &lt;/queryString&gt;
    &lt;field name="cliente_fisica_clfi_cpf" class="java.lang.String"/&gt;
    &lt;field name="cliente_fisica_clfi_nome" class="java.lang.String"/&gt;
    &lt;field name="cliente_fisica_clfi_pk_id" class="java.lang.Integer"/&gt;
    &lt;field name="cliente_fisica_clfi_data_cadastro" class="java.sql.Date"/&gt;
    &lt;filterExpression&gt;&lt;![CDATA[]]&gt;&lt;/filterExpression&gt;
    &lt;title&gt;
        &lt;band height="134" splitType="Stretch"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="112" y="40" width="348" height="24"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[SISTEMA INTEGRADO E  GESTÃO INTEGRADO( SIGI )]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;staticText&gt;
                &lt;reportElement x="169" y="101" width="212" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Atendimento Cliente Físico]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField pattern="dd/MM/yyyy"&gt;
                &lt;reportElement x="455" y="94" width="100" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[new java.util.Date()]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="392" y="114" width="95" height="20"/&gt;
                &lt;textElement textAlignment="Right" verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA["Página "+$V{PAGE_NUMBER}+" de"]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField evaluationTime="Report"&gt;
                &lt;reportElement x="487" y="114" width="40" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[" " + $V{PAGE_NUMBER}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;staticText&gt;
                &lt;reportElement x="426" y="94" width="27" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;text&gt;&lt;![CDATA[Data:]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="84" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$P{DATAFIM}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="64" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$P{DATAINICIO}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/title&gt;
    &lt;pageHeader&gt;
        &lt;band height="37" splitType="Stretch"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="0" y="11" width="112" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="10" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[CPF]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;staticText&gt;
                &lt;reportElement x="125" y="11" width="430" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="10" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Cliente ]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="10" width="555" height="1"/&gt;
            &lt;/line&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="31" width="555" height="1"/&gt;
            &lt;/line&gt;
        &lt;/band&gt;
    &lt;/pageHeader&gt;
    &lt;detail&gt;
        &lt;band height="24" splitType="Stretch"&gt;
            &lt;textField&gt;
                &lt;reportElement x="125" y="0" width="430" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{cliente_fisica_clfi_nome}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="0" width="112" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{cliente_fisica_clfi_cpf}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/detail&gt;
    &lt;summary&gt;
        &lt;band height="24"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="411" y="0" width="105" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Total de Clientes:]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField&gt;
                &lt;reportElement x="516" y="0" width="39" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.Integer"&gt;&lt;![CDATA[$V{PAGE_COUNT}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/summary&gt;
&lt;/jasperReport&gt;
TheKill
&lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$P{DATAFIM}]]&gt;&lt;/textFieldExpression&gt;  
             &lt;/textField&gt;  
             &lt;textField&gt;  
                 &lt;reportElement x="0" y="64" width="100" height="20"/&gt;  
                 &lt;textElement/&gt;  
                 &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$P{DATAINICIO}]]&gt;&lt;/textFieldExpression&gt;

Repare nao é String

davidbuzatto

Todos os componentes que usarem as datas tem que estar com o mesmo tipo.
Seu problema não está na query, mas nos campos de texto apontados pelo TheKill.

[]´s

juniorsatanas

&lt;textField pattern="dd/MM/yyyy"&gt; &lt;reportElement x="0" y="84" width="100" height="20"/&gt; &lt;textElement/&gt; &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAFIM}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField pattern="dd/MM/yyyy"&gt; &lt;reportElement x="0" y="64" width="100" height="20"/&gt; &lt;textElement/&gt; &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAINICIO}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt;

davidbuzatto

E funcionou?

juniorsatanas

juniorsatanas

não mostrou nada ! mas não deu erro !

Mas no banco eu tenho Registros !

Que parto esse negócio !

Pessoal Muito obrigado mesmo !
juniorsatanas

no final ficou assim :

Mas não gera nada !
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="relClientesFisicoAtentidoPorPeriodo" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt;
    &lt;property name="ireport.zoom" value="1.0"/&gt;
    &lt;property name="ireport.x" value="0"/&gt;
    &lt;property name="ireport.y" value="0"/&gt;
    &lt;parameter name="DATAINICIO" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;parameter name="DATAFIM" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;queryString&gt;
        &lt;![CDATA[SELECT
cliente_fisica."clfi_cpf" AS cliente_fisica_clfi_cpf,
cliente_fisica."clfi_nome" AS cliente_fisica_clfi_nome,
cliente_fisica."clfi_pk_id" AS cliente_fisica_clfi_pk_id,
cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro
FROM
"sigi"."cliente_fisica" cliente_fisica

WHERE clfi_data_cadastro

BETWEEN date($P{DATAINICIO}) AND date($P{DATAFIM})]]&gt;
    &lt;/queryString&gt;
    &lt;field name="cliente_fisica_clfi_cpf" class="java.lang.String"/&gt;
    &lt;field name="cliente_fisica_clfi_nome" class="java.lang.String"/&gt;
    &lt;field name="cliente_fisica_clfi_pk_id" class="java.lang.Integer"/&gt;
    &lt;field name="cliente_fisica_clfi_data_cadastro" class="java.sql.Date"/&gt;
    &lt;filterExpression&gt;&lt;![CDATA[]]&gt;&lt;/filterExpression&gt;
    &lt;title&gt;
        &lt;band height="134" splitType="Stretch"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="112" y="40" width="348" height="24"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[SISTEMA INTEGRADO E  GESTÃO INTEGRADO( SIGI )]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;staticText&gt;
                &lt;reportElement x="169" y="101" width="212" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Atendimento Cliente Físico]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField pattern="dd/MM/yyyy"&gt;
                &lt;reportElement x="455" y="94" width="100" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[new java.util.Date()]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="392" y="114" width="95" height="20"/&gt;
                &lt;textElement textAlignment="Right" verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA["Página "+$V{PAGE_NUMBER}+" de"]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField evaluationTime="Report"&gt;
                &lt;reportElement x="487" y="114" width="40" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[" " + $V{PAGE_NUMBER}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;staticText&gt;
                &lt;reportElement x="426" y="94" width="27" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;text&gt;&lt;![CDATA[Data:]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="84" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAFIM}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="64" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAINICIO}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/title&gt;
    &lt;pageHeader&gt;
        &lt;band height="37" splitType="Stretch"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="0" y="11" width="112" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="10" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[CPF]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;staticText&gt;
                &lt;reportElement x="125" y="11" width="430" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="10" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Cliente ]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="10" width="555" height="1"/&gt;
            &lt;/line&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="31" width="555" height="1"/&gt;
            &lt;/line&gt;
        &lt;/band&gt;
    &lt;/pageHeader&gt;
    &lt;detail&gt;
        &lt;band height="24" splitType="Stretch"&gt;
            &lt;textField&gt;
                &lt;reportElement x="125" y="0" width="430" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{cliente_fisica_clfi_nome}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="0" width="112" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{cliente_fisica_clfi_cpf}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/detail&gt;
    &lt;summary&gt;
        &lt;band height="24"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="411" y="0" width="105" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Total de Clientes:]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField&gt;
                &lt;reportElement x="516" y="0" width="39" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"/&gt;
                &lt;textFieldExpression class="java.lang.Integer"&gt;&lt;![CDATA[$V{PAGE_COUNT}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/summary&gt;
&lt;/jasperReport&gt;
TheKill
&lt;reportElement x="392" y="114"  width="95" height="20"/&gt;  
                 &lt;textElement textAlignment="Right" verticalAlignment="Middle"/&gt;  
                 &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA["Página "+$V{PAGE_NUMBER}+" de"]]&gt;&lt;/textFieldExpression&gt;  
             &lt;/textField&gt;  
             &lt;textField evaluationTime="Report"&gt;  
                 &lt;reportElement x="487" y="114" width="40" height="20"/&gt;  
                 &lt;textElement verticalAlignment="Middle"/&gt;  
                 &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[" " + $V{PAGE_NUMBER}]]&gt;&lt;/textFieldExpression&gt;

Não é String!!!

juniorsatanas

é tudo data ?

TheKill

amigo, se vc quer fazer um between de datas, tem que ser tipo Date né?! …

juniorsatanas
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="relClientesFisicoAtentidoPorPeriodo" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt;
    &lt;property name="ireport.zoom" value="1.0"/&gt;
    &lt;property name="ireport.x" value="0"/&gt;
    &lt;property name="ireport.y" value="0"/&gt;
    &lt;parameter name="DATAINICIO" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;parameter name="DATAFIM" class="java.util.Date"&gt;
        &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt;
    &lt;/parameter&gt;
    &lt;queryString&gt;
        &lt;![CDATA[SELECT
cliente_fisica."clfi_data_cadastro" AS cliente_fisica_clfi_data_cadastro
FROM
"sigi"."cliente_fisica" cliente_fisica

WHERE clfi_data_cadastro

BETWEEN date($P{DATAINICIO}) AND date($P{DATAFIM})]]&gt;
    &lt;/queryString&gt;
    &lt;field name="cliente_fisica_clfi_data_cadastro" class="java.sql.Date"/&gt;
    &lt;filterExpression&gt;&lt;![CDATA[]]&gt;&lt;/filterExpression&gt;
    &lt;title&gt;
        &lt;band height="134" splitType="Stretch"&gt;
            &lt;staticText&gt;
                &lt;reportElement x="112" y="40" width="348" height="24"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[SISTEMA INTEGRADO E  GESTÃO INTEGRADO( SIGI )]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;staticText&gt;
                &lt;reportElement x="169" y="101" width="212" height="20"/&gt;
                &lt;textElement verticalAlignment="Middle"&gt;
                    <font size="12" />
                &lt;/textElement&gt;
                &lt;text&gt;&lt;![CDATA[Atendimento Cliente Físico]]&gt;&lt;/text&gt;
            &lt;/staticText&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="84" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAFIM}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
            &lt;textField&gt;
                &lt;reportElement x="0" y="64" width="100" height="20"/&gt;
                &lt;textElement/&gt;
                &lt;textFieldExpression class="java.util.Date"&gt;&lt;![CDATA[$P{DATAINICIO}]]&gt;&lt;/textFieldExpression&gt;
            &lt;/textField&gt;
        &lt;/band&gt;
    &lt;/title&gt;
    &lt;pageHeader&gt;
        &lt;band height="37" splitType="Stretch"&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="10" width="555" height="1"/&gt;
            &lt;/line&gt;
            &lt;line&gt;
                &lt;reportElement x="0" y="31" width="555" height="1"/&gt;
            &lt;/line&gt;
        &lt;/band&gt;
    &lt;/pageHeader&gt;
    &lt;detail&gt;
        &lt;band height="24" splitType="Stretch"/&gt;
    &lt;/detail&gt;
    &lt;summary&gt;
        &lt;band height="24"/&gt;
    &lt;/summary&gt;
&lt;/jasperReport&gt;
juniorsatanas

Mesmo assim não pega !

Estranho isso !
juniorsatanas

Um amigo mandou um exemplo que pega na boa ! ta muito parecido com o meu ! egua !

SELECT deposito."sigla_deposito" AS deposito_sigla_deposito, tipo_pedido."desc_tppedido" AS tipo_pedido_desc_tppedido, modalidade."desc_modalidade" AS modalidade_desc_modalidade, cliente."nome_cli" AS cliente_nome_cli, cliente."logradouro" AS cliente_logradouro, cliente."cpf_cnpj" AS cliente_cpf_cnpj, cliente."bairro" AS cliente_bairro, cliente."cidade" AS cliente_cidade, cliente."cep" AS cliente_cep, pedido."isrisco" AS pedido_isrisco, pedido."ord_venda" AS pedido_ord_venda, pedido."data_forne" AS pedido_data_forne, pedido."data_ordem" AS pedido_data_ordem, pedido."num_ped" AS pedido_num_ped, pedido."fornecimento" AS pedido_fornecimento, pedido."textremessa" AS pedido_textremessa, pedido."obs_entrega" AS pedido_obs_entrega, picking_impr."data_impr" AS picking_impr_data_impr, pedido."cod_ped" AS pedido_cod_ped, pedido."idcep" AS pedido_idcep, area."desc_area" AS area_desc_area, picking_impr."isimpresso" AS picking_impr_isimpresso, rota."rota_geral" AS rota_rota_geral FROM "public"."pedido" pedido INNER JOIN "public"."deposito" deposito ON pedido."cod_deposito" = deposito."cod_deposito" INNER JOIN "public"."tipo_pedido" tipo_pedido ON pedido."id_tppedido" = tipo_pedido."id_tppedido" INNER JOIN "public"."modalidade" modalidade ON pedido."id_modalidade" = modalidade."id_modalidade" INNER JOIN "public"."cliente" cliente ON pedido."cod_cli" = cliente."cod_cli" INNER JOIN "public"."picking_impr" picking_impr ON pedido."cod_ped" = picking_impr."cod_ped" INNER JOIN "public"."cep" cep ON pedido."idcep" = cep."idcep" INNER JOIN "public"."rota" rota ON cep."idrota" = rota."id" INNER JOIN "public"."area" area ON rota."id_area" = area."id" WHERE pedido."data_forne" BETWEEN $P{DATA_INI} AND $P{DATA_FIM} AND deposito."cod_deposito" = $P{DEP} AND picking_impr."isimpresso" = $P{ISIMPRESSO}

TheKill
BETWEEN date($P{DATAINICIO}) AND date($P{DATAFIM})]]&gt;

Acho que esta errado.
Acho que o correto seria:

BETWEEN $P{DATAINICIO} AND $P{DATAFIM}]]&gt;
TheKill

Repare no que eu falei!!

juniorsatanas

testei das 2 maneira s JA !

:slight_smile:

TheKill

amigao, entao tente dar uma analisada no que esta tentando fazer. esta fazendo algo de errado por ai, nunca tive problemas

juniorsatanas
where caixa."ddate" between $P{INICIO} and $P{FIM}
alexfe

conforme estavamos conversando pelo Gmail. Você me disse que usa BD PosgreSQL, eu também. Olhando seu codigo e o que conversamos achei os seguintes erros. Você me disse que o seu campo Data dentro do banco de dados está como Time Stamp e vc definil o Parametro no Ireport como Date, ficando diferente do banco ocorrendo erros de Cast e outros…

Se o tipo de dado no banco é Date no relatorio terá que ser Date.
Se o tipo de dado no banco é Times Stamp no relatorio terá que ser Time Stamp.

lembrando da correta escrita do parametro dentro do SQL

Aqui vai um Exemplo :
[b]SELECT
caixa.“ddate” AS caixa_ddate,
caixa.“valor_fecha” AS caixa_valor_fecha,
caixa.“valor_abertura” AS caixa_valor_abertura,
pessoafornecedor.“nome” AS pessoafornecedor_nome
FROM
“public”.“usuario” usuario INNER JOIN “public”.“caixa” caixa ON usuario.“id” = caixa.“id”
INNER JOIN “public”.“pessoafornecedor” pessoafornecedor ON usuario.“id_tipopessoa” = pessoafornecedor.“id_pessoa”

where caixa.“ddate” between $P{DATAINICIO} and $P{DATAFIM}[/b]

Sempre Compile o relatorio antes de testar.

Passagem de parametros para o relatorio através da aplicação:

.

.

.

HashMap<String, Date> parameterMap = new HashMap<String, Date>();

parameterMap.put(DATAINICIO, getInicio());

parameterMap.put(DATAFIM, getFim());

.
.
.
Sempre Trabalho com datas no banco do tipo Date mesmo , assim os relatorio ficam simples e funcionais.
E para quem está começando com relatorios existe um livro do Ireport (Autor Edson Gonçalves) comprei este livro foi uma maravilha para fazer os relatorios do meu TCC.

juniorsatanas

Rodei no WINDOWS e pegou normal !! LINUX DESGRAÇADO… BUGADO O IREPORT PARA LINUX !

Rafael_Ferraro

Pessoa bom dia, desculpa ressuscitar este tópico, mas estou tendo um problema e não encontro solução, também não possuo grande conhecimento com IReport. Preciso fazer umas alterações em um relatório desenvolvido por outro programador, mas logo que tento compila-lo é mostrado o seguinte erro:

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: C:\Projetos T&T\Francatalogos\Projeto Francatalogos\projects\Catalogos\src\catalogos\reports\notaPromissoria\notaPromissoria_1378489035374_874746.java:13: package util does not exist import util.*;

Pelo que entendi está faltando a importação do pacote util.*; correto ? Mas onde faço essa importação ?
Desculpem minha inocência para isso, mas mexi muito pouco com ireport.

Obrigado desde já

Criado 15 de outubro de 2010
Ultima resposta 9 de set. de 2013
Respostas 31
Participantes 5