Definitivamente tu mensaje no es muy claro, pero bueno, como consejo
te diría que SIEMPRE debes indicar lo que ya hiciste, y mostrar el
código que te da problemas, así que te recomiendo lo siguiente:
Date una vuelta por TODO este tema de este foro:
http://www.forosdelweb.com/f45/jasper-report-ireport-netbeans-4-a-280528/
Y ahora, veamos un poco de código:
**************************** Inicio Codigo
***************************************************
<%@ page language="java" %>
<%//Aqui se importan las librerias del ireport....%>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.util.JRLoader" %>
<%@ page import="java.util.*" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.lang.Object" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page errorPage="../error.jsp" %>
<jsp:useBean id="conexion" class="Web.Data.DbConnection" scope="page" />
<jsp:useBean id="dataSource" class="Web.Data.DataSource" scope="page">
<jsp:setProperty name="dataSource" property="*" />
</jsp:useBean>
<%
File reporte = new
File(application.getRealPath("/reporte/rptMovimiento.jasper"));
if (!reporte.exists())
throw new JRRuntimeException("No se encuentra el archivo
rptMovimiento.jasper");
JasperReport masterReport = null;
try {
masterReport = (JasperReport) JRLoader.loadObject(reporte);
} catch (JRException e) {
System.out.println("Error cargando el reporte : " + e.getMessage());
System.exit(3);
}
// Crear objeto de conexion al DB
Connection cn = conexion.CreateConnection();
// Asignar conexin al objeto manejador de datos
dataSource.setConnection(cn);
//Aqui recibo el codigo que pasaré como parámetro al reporte
String art_codigo =
request.getParameter("art_codigo")==null?"0":request.getParameter("art_codigo");
String query = "select a.art_nombre, a.art_nomabr, a.art_precio from
stock_articulos a where a.art_codigo="+art_codigo+" order by
a.art_codigo asc";
//Aqui creo un resultset con los datos de la consulta
ResultSet rs = dataSource.GetData(query);
/*Aquí creo un objeto del tipo JRResultSedDataSource
para pasarlo indirectamente al reporte, ojo que esto lo puedes
utilizar también para un webservices así no tienes accedo directo a la
bd desde el reporte.. ;)*/
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
// Parámetros del reporte maestro
Map masterParams = new HashMap();
/* Este es en el caso de que el parametro se lo pases al reporte
para que el lo procese...
Para agregar algun tipo de parametro
masterParams.put("mes", mes); parametro, valor
*/
byte[] bytes =
JasperRunManager.runReportToPdf(
reporte.getPath(),
masterParams,
jrRS
);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
***************************** FIn codigo *********************************
Aclaro que esto es para llamar al reporte pasándole un objeto especial
(del tipo JRResultSedDataSource) con los datos, también hay otra forma
de hacerlo pero le das acceso al reporte a la BD, a través de la
conexión así que teóricamente es menos seguro, pero en fin, tu eliges
como hacerlo.
Para cualquier comentario, estamos aquí.
Un abrazo.
--
§~^Calabaza^~§ from Villa Elisa, Paraguay
----------------
A hendu hína: Astor Piazzolla y su Quinteto - Casa Pueblo
http://foxytunes.com/artist/astor+piazzolla+y+su+quinteto/track/casa+pueblo
Ah! olvidé decirte que por supuesto debes tener previamente instalado
el Adobe Reader con su plug-in para tu browser para poder mostrarlo
directamente en el navegador.-
Saludos.
--
§~^Calabaza^~§ from Villa Elisa, Paraguay
----------------
A hendu hína: Astor Piazzolla y su Quinteto - Flaco Aroldi
http://foxytunes.com/artist/astor+piazzolla+y+su+quinteto/track/flaco+aroldi