Foros del Web » Programación para mayores de 30 ;) » Java »

El documento no tiene pagina

Estas en el tema de El documento no tiene pagina en el foro de Java en Foros del Web. cordial saludo amigos forero tengo la sgte duda cuando intento realizar un reporte en jasperreport con java siempre me sale que el documento no tiene ...
  #1 (permalink)  
Antiguo 03/05/2013, 10:01
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 11 meses
Puntos: 4
Pregunta El documento no tiene pagina

cordial saludo amigos forero tengo la sgte duda cuando intento realizar un reporte en jasperreport con java siempre me sale que el documento no tiene pagina lo he probado del inreport y me funciona bien. lo que note mas extraño que en la pantalla de la consola o run del netbeans me mostro este msj en la pantalla
Código PHP:
3/05/2013 10:50:49 AM net.sf.jasperreports.engine.query.JRJdbcQueryExecuter <init>
ADVERTENCIAThe supplied java.sql.Connection object is null
no entiendo el porque como si no tuviera ningun valor la variable con
de toda manera adjunto la clase

Código PHP:
package beans;
import java.sql.*;
import java.util.Map;
import java.util.HashMap;
import java.net.URL;
import beans.Conexion;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;

/**
 *
 * @author Administrador
 */
public class EjecutarReporte {
   
Connection con;

    public 
void startReport(int factura){

        try{
          
           
//direccion del archivo JASPER
            
String in="reportefactura.jasper";

            if (
in == null) {
                  throw new 
Exception("No encuentro el archivo del reporte maestro.");
                  }
            
JasperReport reporte =null;
            try {
                     
reporte = (JasperReportJRLoader.loadObjectin );

             } catch (
Exception e) {
                     throw new 
Exception("Error cargando el reporte : " e.getMessage());
             }

            
//Se crea un objeto HashMap
            
Map param = new HashMap();
            
param.clear();
            
param.put("FACTURA"factura);
       
             
JasperPrint jasperprint null;
                try {
     
jasperprint =  jasperFillManager.fillReport(reporte,param,con);                              jasperprint.setOrientation(JasperReport.PRINT_ORDER_VERTICAL);
                } catch (
JRException e) {
                        throw new 
Exception("Error llenando el reporte maestro: " e.getMessage());
                        }
              try {
                        
JasperViewer visor=new JasperViewer(jasperprint,false);
                        
visor.setTitle("GMMG Reportes - YCCE");
                        
visor.setVisible(true);
                } catch (
Exception e) {
                        throw new 
Exception("Error visualizando el reporte : " e.getMessage());
                }                     
        }catch(
Exception e){
            
javax.swing.JOptionPane.showMessageDialog(nulle);

        }
    }

este el codigo del boton

Código PHP:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
// TODO add your handling code here:
int factura=Integer.parseInt(txtReporte.getText());
report.startReport(factura);
    } 
  #2 (permalink)  
Antiguo 03/05/2013, 10:21
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 10 meses
Puntos: 22
Respuesta: El documento no tiene pagina

Donde inicializas la variable con? segun el codigo que has pasado la variable con no tiene valor por lo que cuando llamas al metodo

jasperFillManager.fillReport(reporte,param,con);

estas pasando el valor con a null
  #3 (permalink)  
Antiguo 03/05/2013, 14:21
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 11 meses
Puntos: 4
Respuesta: El documento no tiene pagina

Mira lo que hice amigo
Código PHP:
public class EjecutarReporte {
  
// Connection con;
//agregue esto
 
public static final String DRIVER="com.mysql.jdbc.Driver";
       public static final 
String RUTA="jdbc:mysql://localhost/factura";
       public static final 
String USER="root";
       public static final 
String PASSWORD="root";
       public static 
Connection con;
//Connection con;

    
public void startReport(int factura){
         
        try{
//Agregue tambien esto
            
Class.forName(DRIVER);
            
con DriverManager.getConnection(RUTA,USER,PASSWORD);
            
javax.swing.JOptionPane.showMessageDialog(null,"Conexion establecida");
           
//direccion del archivo JASPER
            
String in="reportefactura.jasper";

            
//URL  in = this.getClass().getResource("reportefactura.jasper");
            
if (in == null) {
                  throw new 
Exception("No encuentro el archivo del reporte maestro.");
                  }
            
JasperReport reporte =null;
            try {
                     
reporte = (JasperReportJRLoader.loadObjectin );

             } catch (
Exception e) {
                     throw new 
Exception("Error cargando el reporte : " e.getMessage());
             }

             
//reporte=(JasperReport) JRLoader.loadObject(template);

           // Map param=new HashMap();
            //Se crea un objeto HashMap
            
Map param = new HashMap();
            
param.clear();
            
param.put("FACTURA"factura);
            
//Conexion con = new Conexion();
            //con.connect("", "");
             
JasperPrint jasperprint null;
                try {
                    
jasperprint JasperFillManager.fillReport(reporte,param,con);
                    
//JasperPrintManager.printReport(jasperprint, true);
                    
jasperprint.setOrientation(JasperReport.PRINT_ORDER_VERTICAL);
                } catch (
JRException e) {
                        throw new 
Exception("Error llenando el reporte maestro: " e.getMessage());
                        }
              try {
                        
JasperViewer visor=new JasperViewer(jasperprint,false);
                        
visor.setTitle("GMMG Reportes - YCCE");
                        
visor.setVisible(true);
                } catch (
Exception e) {
                        throw new 
Exception("Error visualizando el reporte : " e.getMessage());
                }                     
        }catch(
Exception e){
            
javax.swing.JOptionPane.showMessageDialog(nulle);

        }
    }

y ahora me sale este error
Código PHP:
java.lang.nullpointerexception 

Última edición por Geovanny0401; 03/05/2013 a las 14:46
  #4 (permalink)  
Antiguo 04/05/2013, 09:44
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 10 meses
Puntos: 22
Respuesta: El documento no tiene pagina

siempre que te salga un error de tipo "Nullpointerexception" es que estas intentando utilizar una variable que contiene Null, fijate en el error normalmente los compiladores te indican en que linea se produce...
  #5 (permalink)  
Antiguo 07/05/2013, 09:26
 
Fecha de Ingreso: diciembre-2009
Mensajes: 137
Antigüedad: 14 años, 11 meses
Puntos: 4
Respuesta: El documento no tiene pagina

Pues me dice q en la variable de conexion pero no entiendo porque la estoy declarando en la parte de arriba??
  #6 (permalink)  
Antiguo 07/05/2013, 11:03
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: El documento no tiene pagina

public static Connection con;

El objetivo de public static es permitir que la variable sea accesible desde otras clases importando la clase contenedora y sin instanciarla. Si en otras clases de tu proyecto no vas a hacer EjecutarReporte.con para obtener la connection entonces recomendaría cambiar por:

private Connection con; // Lo mismo aplicaría a las constantes manteniendo el final

Ahora tienes un objeto Connection declarado, y referenciado a la variable con, pero de valor null.

con = DriverManager.getConnection(RUTA,USER,PASSWORD);

Si te da aqui el nullpointer lo más probable es que sea DriverManager lo que sea null, ya que el nullpointer se produce al acceder a algun atributo o llamar a algún método de un objeto null. es decir, que si el resultado de todo eso fuese con = null; no habría excepción en ese punto.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 08/05/2013, 04:43
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: El documento no tiene pagina

Creo que el problema es que te falta el puerto en la url de la BBDD.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: clase, netbeans, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.