Erro report jasper quando passo Date para campo parametro Tipo Date?

0 respostas
P

Olá,

o que será que pode ser o erro abaixo …o parametro de parametro está como tipo Date ???

da pagina jsp vem String converto pra Date …e qdo chama JasperRunManager.runReportToPdf da erro

net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query :
--action
String dtinicial = this.dtoReport.getDtinicial().trim();
				String dtfinal   = this.dtoReport.getDtfinal().trim();
				parameters.put("data_inicial_cab", dtinicial);
	  			parameters.put("data_final_cab", dtfinal);
	  			
	  			
	  			if ((dtinicial == null && dtfinal == null)||(dtinicial.equals("") && dtfinal.equals(""))){
	  				dtinicial = "01/01/1900";
	  				dtfinal   = "31/12/3000";

	  			}
	  			
				data_inicial_d = new CriteriaSearchDetail().convertStringToDate(dtinicial,">=");
	  			data_final_d = new CriteriaSearchDetail().convertStringToDate(dtfinal,"<=");

	  			parameters.put("data_inicial", data_inicial_d);
	  			parameters.put("data_final", data_final_d);

----

	String jasper = request.getContextPath()+ "/report/report/"+nomeRelatorio;   
			host = "http://" + request.getServerName() + ":" + request.getServerPort();   
			URL jasperURL        = new URL(host + jasper);
			Logger.getLogger(Report.class).log(Priority.INFO, " report passo 5 "+new Date());
	        response.setContentType(CONTENT_TYPE_PDF);     
		    byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con); 
--
public static Date convertStringToDate(String date,String operator) throws BaseException {
		Date out = null;
		SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");  
		
		try {
			Date dataTODate = dateFormat.parse(date);
			
			if (operator.equals("=")||operator.equals(">")||operator.equals(">=")||operator.equals("!")){
				out = DateUtils.lowDateTime(dataTODate);	
			}else{
				out = DateUtils.highDateTime(dataTODate);
			}
 
		} catch(Exception e) {
			//throw new BaseException(e, "CriteriaSearchDetail", "convertStringToCalendar", "1");
		}
		return out;
	}
--
 public static Date lowDateTime(Date date) {  
	           Calendar aux = Calendar.getInstance();  
	           aux.setTime(date);  
	           toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec  
	           return aux.getTime();  
	       }  

---
  public static Date highDateTime(Date date) {  
	           Calendar aux = Calendar.getInstance();  
	           aux.setTime(date);  
	           toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec  
	           aux.roll(Calendar.DATE, true); //vai para o dia seguinte  
	           aux.roll(Calendar.MILLISECOND, false); //reduz 1 milisegundo  
	           return aux.getTime();  
	       }
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query : 

SELECT ic.certificate_id,
       icd.cn titular,
       ica.name ac,
       ic.notafter ate,
       ic.notbefore de,
       ic.certificate_state situacao,
       ict.certificate_family  icp,
       ict.name tipo,
       idm.name modelo,
       id.serialnumber serie,
       iu.name usuario
FROM ims_certificate ic
left join ims_certificate_type ict on ic.certificate_type_id  = ict.certificate_type_id
left join ims_certificate_dn icd on ic.dn_id  = icd.dn_id
left join ims_ca ica on ict.ca_id  = ica.ca_id
left join ims_publickey ipk on ic.publickey_id  = ipk.publickey_id
left join ims_key_container ikc on ipk.publickey_id  = ikc.publickey_id
left join ims_device id on ikc.device_id  = id.device_id
left join ims_device_model idm on id.device_model_id  = idm.device_model_id
left join ims_user iu on id.device_model_id  = idm.device_model_id
-- where (?="0" and ? ="0" )or (DATE(ic.notafter) >=str_to_date(?,'%d/%m/%Y %T')  and  DATE(ic.notafter)<=str_to_date(?,'%d/%m/%Y %T'))
where (ic.notafter >= ?  and  ic.notafter<=? )
order by 5,2,1
Criado 4 de maio de 2009
Respostas 0
Participantes 1