Passar parametros de Data para iReport

6 respostas
L

Boa Noite a Todos…

Estou com a seguinte dúvida… Criei um relatório em iReport… com dois parametros

datade - Tipo java.util.Date
dateate - Tipo java.util.Date

Eu recupedo os valores de datas digitadas pelo usuario… e as envio pelo map.put…

só que estou com erros de conversão…

Alguem pode me dar um Help ??

abaixo tem o código que estou utilizando

HashMap<String, String> map = new HashMap<String, String>();
          
          String datade = request.getParameter("datade"); //RECUPERO OS VALORES DIGITADOS PELO USUARIO
          String dataate = request.getParameter("dataate");
          
          DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");  
            Date datede = new java.sql.Date( ((java.util.Date)formatter.parse(datade)).getTime() ); 
            Date dateate = new java.sql.Date( ((java.util.Date)formatter.parse(dataate)).getTime() ); 
            
                      
          
          map.put("IMAGE_PATH", 
            		context.getRealPath(caminho)+File.separator);

//PASSO AS DATAS COMO PARAMETRO.
          map.put("datade",datede.toString());
          map.put("dataate",dateate.toString());

Este é o erro:

net.sf.jasperreports.engine.JRException: Incompatible java.lang.String value assigned to parameter datade in the ClienteForncedor_Rel2 dataset.

6 Respostas

S

Amigo, boa noite.

Se você disse que no relatório colocou as propriedades de datas com o formato Date.

Por que está passando um String?

map.put("datade",datede.toString());  
map.put("dataate",dateate.toString());

Altere no relatório para o formato String, já que que você está formatando as datas com SimpleDateFormat.

Abraços

P

no jrxml altere o parametro de entrada para data. sendo assim vc consegue passar um new Date() ou um Date()

L

Bom Dia a todos,

Caro amigo sech777, estou passando uma String… por que este método map.put()… só aceita String…

Se eu mudar meu parâmetro no iReport para String também não funciona… porque meu campo DATAINICIAL no Banco está no Formato date. Eu ja havia mudado no Banco para varchar… funcionou, porém não fica legal armazenar datas no Banco no formato String…

C

leandro_denisoliveira:
Bom Dia a todos,

Caro amigo sech777, estou passando uma String… por que este método map.put()… só aceita String…

Se eu mudar meu parâmetro no iReport para String também não funciona… porque meu campo DATAINICIAL no Banco está no Formato date. Eu ja havia mudado no Banco para varchar… funcionou, porém não fica legal armazenar datas no Banco no formato String…

só aceita String porque você assim o definiu. Tente

Map<String,Object> mapa = new HashMap<String,Object>();
L

kkkkk. Nossa, é verdade… me desculpe por esta distração… rsrs vou tentar novamente… Agradeçidooo

Abraços

L

[RESOLVIDO]

Caros, novamente muito Obrigado… funcionando !!!

Apenas alterei o tipo de entrada de Dado… HasMap <String,Object> map = new <String, Object>

map.pu(“NomeObjeto”,qualquerparametro);

Abraços a Todos… e até mais…

Criado 6 de novembro de 2011
Ultima resposta 7 de nov. de 2011
Respostas 6
Participantes 4