Hace unos dias un amigo me comento, que necesita utilizar reportes en sus aplicaciones en java, le comente de que la mejor forma seria usando JasperReports.
Utilizamos el iReport que nos ofrece una interfaz muy agradable para el diseño de los reportes.
Explicare brevemente como utilizar parametros en los reportes.
Primero seleccionamos en el menu Data la opcion Report Query
En el codigo SQL agregamos el parametro P_IDMUNICIPIO. $P indica que es un parametro. {P_IDMUNICIPO} nos indican el nombre del parametro.
Ahora nos ubicamos en la barra de parametros
Damos click derecho y escojemos Add Parameter
En la casilla, Parameter Name escribimos P_IDMUNICIPIO
En nuestro programa Java, le asignamos el valor al parametro
params.put("P_IDMUNICIPIO", sesion.getIdmunicipio());
Aqui podemos ver la ejecucion del reporte.
Utilizamos el iReport que nos ofrece una interfaz muy agradable para el diseño de los reportes.
Explicare brevemente como utilizar parametros en los reportes.
Primero seleccionamos en el menu Data la opcion Report Query
En el codigo SQL agregamos el parametro P_IDMUNICIPIO. $P indica que es un parametro. {P_IDMUNICIPO} nos indican el nombre del parametro.
Ahora nos ubicamos en la barra de parametros
Damos click derecho y escojemos Add Parameter
En la casilla, Parameter Name escribimos P_IDMUNICIPIO
En nuestro programa Java, le asignamos el valor al parametro
params.put("P_IDMUNICIPIO", sesion.getIdmunicipio());
Aqui podemos ver la ejecucion del reporte.
Comments
seinfeld1983@gmail.com
seinfeld1983@gmail.com
gracias necesito con urgencia poder hacer mas de una consulta enviando los valores de los parametros desde java
gracias necesito con urgencia poder hacer mas de una consulta enviando los valores de los parametros desde java
seinfeld1983@gmail.com
gracias necesito con urgencia poder hacer mas de una consulta enviando los valores de los parametros desde java
Para mandar varios parámetros, lo único que tienes que hacer es primero, llenar un Map, como lo muestra el ejemplo, luego, pasar ese Map a la sentencia fillReport(JasperReport, Map).
Obviamente, y como lo explica el ejemplo, tendrías que craer del lado de Jasper los parámetros necesarios.
Saludos.
Tengo un reporte de jasperreport diseñado en ireport versiones 4.02, mi idea principal es pasar un parámetro desde JAVA al reporte.jasper, esto yo lo sé hacer , mi inquietud es cuando ya esta armado por ejemplo “ select * from tabla” el reporte me develve todos los registros, ahora bien si yo quiero filtrar el select seria algo asi “select * from tabla where columna=$P{parametro} ” pero si no quiero un where me devuelve vacio, mi idea que no funciona en el ireport seria algo asi “select * from tabla $P{parametro} ” ya que da error de sintaxis, lo que quisiera es algo así:
Si $P{parametro} =””;
Sentencia sql del jasper queda asi “select * from tabla”
Si $P{parametro} =” where columna=1”;
Sentencia sql del jasper queda asi “select * from table where columna=1”
Si $P{parametro} =” where columna=1 and columna2=masculino”;
Sentencia sql del jasper queda asi “select * from table where columna=1 and columna2=masculino”, y asi dependiendo lo que quiera mandar.
Espero me ayuden o me den una solución parecida gracias.
Tengo un reporte de jasperreport diseñado en ireport versiones 4.02, mi idea principal es pasar un parámetro desde JAVA al reporte.jasper, esto yo lo sé hacer , mi inquietud es cuando ya esta armado por ejemplo “ select * from tabla” el reporte me develve todos los registros, ahora bien si yo quiero filtrar el select seria algo asi “select * from tabla where columna=$P{parametro} ” pero si no quiero un where me devuelve vacio, mi idea que no funciona en el ireport seria algo asi “select * from tabla $P{parametro} ” ya que da error de sintaxis, lo que quisiera es algo así:
Si $P{parametro} =””;
Sentencia sql del jasper queda asi “select * from tabla”
Si $P{parametro} =” where columna=1”;
Sentencia sql del jasper queda asi “select * from table where columna=1”
Si $P{parametro} =” where columna=1 and columna2=masculino”;
Sentencia sql del jasper queda asi “select * from table where columna=1 and columna2=masculino”, y asi dependiendo lo que quiera mandar.
Espero me ayuden o me den una solución parecida gracias.
'select campo_de_tabla from nombre_de_tabla'
'select campo_de_tabla from nombre_de_tabla'
Me gustaría preguntarte como comparar un parametro y de esta forma filtrar el query. Es decir.
Necesito un reporte de bitacora; si el parametro trae "ALL" significa que debe presentar la información de todos los usuarios; pero si no trae "ALL" debe de filtrar el reporte de acuerdo al usuario que trae en el parámetro.
Como puedo hacer esto?
Saludos y gracias de antemano.
espero su ayuda ... mi correo es : mazziel1993@hotmail.com
atte gracias