iReports Parametros

gilpabu
18 de Diciembre del 2008
Buenas a todos, espero que se encuentren bien, por favor alguien me podria dar una ayuda con esto: estoy tratando de ejecutar un repore con iReports, pasandole parametros, cuando los parametros son tipo String, todo funciona muy bien, pero cuando son tipo Date me saca error, como se deben pasar este tipo de datos, como parametro para un iReports.

Muchas gracias por su ayuda...

Timoniel_24
18 de Diciembre del 2008
Hola, podrías especificar desde donde le pasas los parámetros a tu reporte. Yo he creado reportes con parámetros de tipo java.util.Date y se los paso desde una aplicación swing sin problemas, del mismo tipo claro está.

Tu problema tal vez es si usas un TextField para mostrar la fecha..., verifica en sus propiedades y asegurate que en la ficha TextField(donde pones $P{date} ) la opción Text Field Expression Class sea java.util.Date, puedes crear además un patrón para mostrar la fecha como dd/MM/yyyy.

Espero te ayude en algo...

china
18 de Diciembre del 2008
hola... estoy empezando a trabajar con ireport, tengo que mandar a imprimir en una factura la fecha exacta en que se imprimio dicha factura, se que tengo que utilizar java.util.Date; pero no se como implementarlo en el ireport, no se si me podrian explicar como hacerle...de antemano mil gracias

ppJava
18 de Diciembre del 2008
El problema es tu plantilla de fecha, verifica si es dd/mm/yy o mm/dd/yy o cualquier variante

gilpabu
18 de Diciembre del 2008
Hola Timonel_24, muchas gracias por tu ayuda, le estoy pasando los parámetros desde una aplicación java sencilla, en la tabla de la DB (MSSQL) el tipo de dato es Timestat, en las propiedades del campo dentro del reporte efectivamente tengo java.util.Date, y en la sentecia SQL \"WHERE date = $P{date}\".
Pero me dice algo así como: \"Tipo Incorrecto\".
Otra pregunta si eres tan amable, porque en algunas ocasiones se pasan los pametros con el signo de admiración? EJ: $P!{Parameter}.

Timoniel_24
18 de Diciembre del 2008
Hola, si el parámetro en el reporte es de tipo java.util.Date y desde la aplicación java le pasas un tipo java.util.Date, no debe de haber ningún problema. Tal vez le estas pasando desde Java el tipo java.sql.Date si lees así desde tus tablas.

Prueba a convertir en string tu fecha leida de la tabla y luego le das formato así:
//Incluye las librerías
import java.util.Date;
import java.text.*;
...
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");
try{
Date date=formatter.parse(Stringdate);
}catch(ParseException e){//hacer algo}

luego pasas el parámetro con la fecha formada
...
Map parameters = new HashMap();
parametros.put("date1",date);
...

Acerca del signo de admiración, no lo sabía. La consulta en el reporte me funciona bien sin eso...

ppJava
18 de Diciembre del 2008
Creo que no me explique bien, =P el problema es que tu parametro, no tiene el mismo formato que el de tu campo en la DB, solo verifica que tengan el mismo error y ya nop tiene por que marcarte error

fidianny
18 de Diciembre del 2008
que brutos son vele, no voy a gastar teclas explicandoles cuerda de tapados, busquen manera de estudiar indigentes para eso estan las misiones jaja, xxaaao

jluna
18 de Diciembre del 2008
Verifca el tipo de datos sea java.util.Date