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

31 respostas
J

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

D

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

J

davidbuzatto Bom dia Tudo bem por ai ?

Vou seguir sua dica aqui ! valeu boa semana

JR.

J

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]



J

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

D

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

J

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

D

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?

J

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

T

Ele só mudou na paleta onde mostra os parameters,

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

J
&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;
T
&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

D

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

J

&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;

D

E funcionou?

J

J

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

Mas no banco eu tenho Registros !

Que parto esse negócio !

Pessoal Muito obrigado mesmo !
J

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;
T
&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!!!

J

é tudo data ?

T

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

J
&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;
J

Mesmo assim não pega !

Estranho isso !
J

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}

T
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;
T

Repare no que eu falei!!

J

testei das 2 maneira s JA !

:slight_smile:

T

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

J
where caixa."ddate" between $P{INICIO} and $P{FIM}
A

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.

J

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

R

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