IREPORT

Páginas: 5 (1190 palabras) Publicado: 31 de enero de 2014
Guía a IReport y HQL 
 
Conexión a HSQL utilizando SQL. 

 

 

 

 
Fechas en la base de datos 
Los campos fecha en la base de datos se pueden almacenar de las siguientes formas: 
 Utilizando Date: Crea una fecha en formato largo, en la correspondiente clase Java y en el 
archivo de correspondencia debe situar como tipo de datos java.util.Date. 

 

Utilizando un String: Se almacena en el formato que decide el programador, por ejemplo 
dd/mm/YYYY o dd‐mm‐YYYY. 

 
Consultas en HQL con fechas 
a) Si en la base de datos utilizamos el tipo Date  para el campo fecha de Película y queremos consultar 
las películas cuya fecha sea mayor que la fecha que pasamos como parámetro (siendo el parámetro de tipo String), podemos utilizar dentro de IReport la siguiente consulta de informe: 
 
from Pelicula where fecha >  CONVERT($P{FECHA}, Date) 
 
Dentro  del  IReport  se  declara  FECHA  como  parámetro  de  tipo  String.    La  consulta  anterior  utiliza  la 
función Convert del gestor de base de datos HSQLDB, no está garantizado que funcione con otro gestor 
de base de datos. Es mejor utilizar lo que se indica en el siguiente párrafo. 
 En cambio si en la consulta el parámetro se declara de tipo Date, la consulta debe reescribirse: 
 
                                         from Pelicula where fecha >  $P{FECHA} 
 
Si el usuario desde un programa Java introduce la fecha en formato dd/mm/yyyy, conviértalo a Date y 
páselo como parámetro al Informe.  
 b) Si en la base de datos la fecha se almacena como un String, por ejemplo utilizando / para separar días 
de meses y años (es decir en el formato habitual de España 14/06/2008). Una consulta para obtener un 
listado de aquellas películas cuya fecha sea mayor que la que pasamos como parámetro toma la forma: 
 
from Pelicula p where  substring(p.fecha,7,4) || '/' ||  
                                         substring(p.fecha,4,2)||  '/' ||                                          substring(p.fecha,1,2) > $P{FECHA} 
 
El  parámetro  FECHA  se  define  de  tipo  String,  obviamente  el  valor  de  FECHA  que  se  pasa  como 
parámetro debe ir en la forma yyyy/mm/dd para que pueda establecerse la comparación entre Strings. 
En el fragmento de código anterior || es el operador HQL de concatenación de Strings y substring(..) es 
otra función HQL que permite extraer un substring. Para el caso de String también puede comprobarse si la fecha está vacía: 
                             From Pelicula where fecha  ‘’ 

 
Grupos y subinformes 
 
Para  la  mayor  parte  de  los  listados  del  caso  de  estudio  pueden  utilizarse  grupos  o  bien  subinformes. 
Aunque los subinformes se utilizan para mostrar relaciones maestro‐detalle (i.e. director ‐‐‐ película), en el informe maestro se listan los directores y en el subinforme las películas, el mismo resultado puede 
obtenerse empleando grupos y un único informe. En el documento explicaremos las dos posibilidades 
empleando el modelo relacional introducido anteriormente. 
 

Grupos 
Supongamos  que  queremos  obtener  un  listado  de  los  directores  y  las  películas  de  cada  uno  de  ellos, 
agrupado por director. En HQL con la siguiente consulta se obtiene el listado.                                                        From Pelicula 
Dentro  de  IReport  seleccionamos  los  campos  que  queremos  mostrar,  tal  como  puede  verse  en  la 
siguiente figura. 

 
Los campos a visualizar son el director, el idpelicula, el título y la fecha. Defina dentro del asistente de 
informes un grupo con director.  Para que el informe funcione de la forma esperada tiene que definir en “Estructura del documento”  
directorHeader  Group  Properties    Expresión  de  Grupo,  la  expresión  que  produce  el  cambio  de 
grupo, en este caso es el nombre del director. Sustituya la expresión por defecto $F{director} por: 
$F{director}.getNombre() ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ireport
  • Ireport
  • Ireport
  • Reportes en Java con iReport y NetBeans
  • Manual de ireport y net beans
  • Conexión en ireport 3.7.3
  • INSTRUCCIONES DE CONEXI N ENTRE NETBEANS E IREPORT
  • Manual ireport

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS