amigo, se vc quer fazer um between de datas, tem que ser tipo Date né?! …
[code]<?xml version=“1.0” encoding=“UTF-8”?>
<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”>
<property name=“ireport.zoom” value=“1.0”/>
<property name=“ireport.x” value=“0”/>
<property name=“ireport.y” value=“0”/>
<parameter name=“DATAINICIO” class=“java.util.Date”>
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name=“DATAFIM” class=“java.util.Date”>
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<queryString>
<![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})]]>
</queryString>
<field name=“cliente_fisica_clfi_data_cadastro” class=“java.sql.Date”/>
<filterExpression><![CDATA[]]></filterExpression>
<title>
<band height=“134” splitType=“Stretch”>
<staticText>
<reportElement x=“112” y=“40” width=“348” height=“24”/>
<textElement verticalAlignment=“Middle”>
</textElement>
<text><![CDATA[SISTEMA INTEGRADO E GESTÃO INTEGRADO( SIGI )]]></text>
</staticText>
<staticText>
<reportElement x=“169” y=“101” width=“212” height=“20”/>
<textElement verticalAlignment=“Middle”>
</textElement>
<text><![CDATA[Atendimento Cliente Físico]]></text>
</staticText>
<textField>
<reportElement x=“0” y=“84” width=“100” height=“20”/>
<textElement/>
<textFieldExpression class=“java.util.Date”><![CDATA[$P{DATAFIM}]]></textFieldExpression>
</textField>
<textField>
<reportElement x=“0” y=“64” width=“100” height=“20”/>
<textElement/>
<textFieldExpression class=“java.util.Date”><![CDATA[$P{DATAINICIO}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height=“37” splitType=“Stretch”>
<line>
<reportElement x=“0” y=“10” width=“555” height=“1”/>
</line>
<line>
<reportElement x=“0” y=“31” width=“555” height=“1”/>
</line>
</band>
</pageHeader>
<detail>
<band height=“24” splitType=“Stretch”/>
</detail>
<summary>
<band height=“24”/>
</summary>
</jasperReport>
[/code]
Mesmo assim não pega !
Estranho isso !
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}
BETWEEN date($P{DATAINICIO}) AND date($P{DATAFIM})]]>
Acho que esta errado.
Acho que o correto seria:
BETWEEN $P{DATAINICIO} AND $P{DATAFIM}]]>
Repare no que eu falei!!
testei das 2 maneira s JA !
amigao, entao tente dar uma analisada no que esta tentando fazer. esta fazendo algo de errado por ai, nunca tive problemas
where caixa."ddate" between $P{INICIO} and $P{FIM}
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.
Rodei no WINDOWS e pegou normal !! LINUX DESGRAÇADO… BUGADO O IREPORT PARA LINUX !
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á