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

Error retrieving value from bean JasperReports-netbeans

Estas en el tema de Error retrieving value from bean JasperReports-netbeans en el foro de Java en Foros del Web. Buen dia , tengo un problema ,despues de hacer mi rutina y poblar un objeto list y pasarlo como datasource me genera este error , ...
  #1 (permalink)  
Antiguo 11/06/2013, 11:53
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Error retrieving value from bean JasperReports-netbeans

Buen dia , tengo un problema ,despues de hacer mi rutina y poblar un objeto list y pasarlo como datasource me genera este error , por favor ayuda sobre como corregir este error , necesito corregirlo o comprenderlo pues no puedo usar la conexión a base de datos por diversas circunstancias a continuación explico el código que estoy usando

el reporte tiene cuatro campos (fields) ARTICULO,DESCRIPCION,VARIEDAD,SERIE

y comienzo construyendo una clase llamada ArticuloInventario con sus respectivos getters y setters

Código:
  public ArticuloInventario() {
        }
        
    public ArticuloInventario(String ARTICULO,String DESCRIPCION,String VARIEDAD,String SERIE){
    this.ARTICULO = ARTICULO;
    this.DESCRIPCION = DESCRIPCION;
    this.VARIEDAD = VARIEDAD;
    this.SERIE = SERIE;          
    }    
    
       public void SetARTICULO(String ARTICULO){
       this.ARTICULO = ARTICULO;
       }
       
       public String getARTICULO(){
       return ARTICULO;
       }
       
       
       public void setDESCRIPCION(String DESCRIPCION){
       this.DESCRIPCION = DESCRIPCION;
       }
       
       public String getDESCRIPCION(){
       return DESCRIPCION;
       }
       
       
       public void setVARIEDAD(String VARIEDAD){
       this.VARIEDAD = VARIEDAD;
       }
       
       public String getVARIEDAD(){
       return VARIEDAD;
       }
        
       public void setSERIE(String SERIE){
       this.SERIE = SERIE;
       }
       
       public String getSERIE(){
       return SERIE;
       }
       
       
       
    }
después realizo una consulta y construyo mi objeto y lista y lo mando a mostrar el reporte con una rutina llamada MostrarReporte con el datasource como parámetro

Código:
public void BuscarArticulo() throws SQLException{
    String Valor = txtArticulos.getText();
    ConexionMySQL ConexionMysql = new ConexionMySQL();
    Connection cn = ConexionMysql.Conectar();
    try{
    Statement stArticulos = cn.createStatement();
    ResultSet rsArticulos = stArticulos.executeQuery("select t1.ID_ART,t1.ARTICULO,t1.DESCRIPCION,t2.VARIEDAD,t3.SERIE,t4.TALLA,t5.CANTIDAD from Articulos as t1 left outer join VARIEDADES as t2 on t1.ID_VAR = t2.ID left outer join SERIES_CORRIDAS as t3 on t1.ID_SERTAL = t3.ID_CORRIDA left outer join BC_ARTICULOS as t4 on t1.ID_ART = t4.ID_ART left outer join INVENTARIO_ACTUAL as t5 on t4.BARCODE = t5.BARCODE where t1.ARTICULO in ('" + Valor.replace(",","','") + "')");
    
    Collection ListaArticulos = new ArrayList();
    while(rsArticulos.next()){
        ArticuloInventario ArticuloInv = new ArticuloInventario(rsArticulos.getString("ARTICULO"),rsArticulos.getString("DESCRIPCION"),rsArticulos.getString("VARIEDAD"),rsArticulos.getString("SERIE"));
        ListaArticulos.add(ArticuloInv);
        
    RegistroDetalle [0] = rsArticulos.getString("ID_ART");
    RegistroDetalle [1] = rsArticulos.getString("ARTICULO");
    RegistroDetalle [2] = rsArticulos.getString("DESCRIPCION");
    RegistroDetalle [3] = rsArticulos.getString("VARIEDAD");
    RegistroDetalle [4] = rsArticulos.getString("SERIE");
    RegistroDetalle [5] = rsArticulos.getString("TALLA");
    RegistroDetalle [6] = rsArticulos.getString("CANTIDAD");
    ModeloArticulos.addRow(RegistroDetalle);
    }
    JRBeanCollectionDataSource DataSource = new JRBeanCollectionDataSource(ListaArticulos);
    MostrarReporte(DataSource);
    }
    catch(Exception e){
    JOptionPane.showMessageDialog(null,e);
    }
    finally{cn.close();}
    
    }

y por ultimo este es mi rutina para mostrar el reporte

Código:
public void MostrarReporte(JRBeanCollectionDataSource RSDS ){
    
    JasperReport ReporteInventario;
    JasperPrint  PrevioReporte;
    
  
    try{
      URL url = this.getClass().getResource("ConsultaInventario.jasper");
      ReporteInventario = (JasperReport)JRLoader.loadObject(url);
      
      
        PrevioReporte = JasperFillManager.fillReport(ReporteInventario,null,RSDS);
        JasperViewer.viewReport(PrevioReporte);
    
    }
    catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
    }
    
    
    }

al ejecutar la aplicación me envía el siguiente mensaje de error

net.sf.jasperreports.engine.JRException : Error retrieving field value from bean: ARTICULO

necesito pasar los datasource asi debido a que creando la consulta en el ireport no me deja ejecutar el select * from ARTICULOS where articulo in (' Parametro')

, extrañamente si ejecuto select * from ARTICULOS where articulo in ('28-wilson') es decir sin pasarle parámetros si me permite ejecutar la sentencia pero si reemplazo el articulo por el parámetro de entrada me envía un error , si puedieran ayudarme a entender el error en cualquiera de ambos casos estare muy agradecido gracias

Etiquetas: jasperreports, netbeans
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 16:01.