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

problema con obtencion de rangos de fechas

Estas en el tema de problema con obtencion de rangos de fechas en el foro de Java en Foros del Web. Chic@s, tengo el siguiente problema y necesito que me hechen una mano que ya llevo horas pensando y aun no le pillo la respuesta: tengo ...
  #1 (permalink)  
Antiguo 04/11/2013, 21:43
 
Fecha de Ingreso: junio-2013
Mensajes: 16
Antigüedad: 11 años, 6 meses
Puntos: 0
problema con obtencion de rangos de fechas

Chic@s, tengo el siguiente problema y necesito que me hechen una mano que ya llevo horas pensando y aun no le pillo la respuesta:

tengo un formulario el cual debe consultar rangos de fechas el cual ingreso los datos pero al momento de obtener los resultados este me trae todos los registros que tengo en la Base de Datos.

Programo en Netbeans 7.0.1 y mysql.

dejo a continuación las clase donde hago la sentencia y lo que tengo en el evento del boton, primero la clase:

Código Java:
Ver original
  1. public ArrayList getObtenerAtencionesPorFechas( String fechaIngreso1, String fechaIngreso2){
  2.        
  3.         ArrayList arrAtencionesPorFechas = new ArrayList();
  4.        
  5.         try
  6.            
  7.         {    
  8.             this.getConectar();
  9.            
  10.             String sql = "select codigo_atencion,patente,rut_cliente,nombre_cliente,telefono_contacto, fecha_ingreso from atenciones where fecha_ingreso between '"+fechaIngreso1+"' and '"+fechaIngreso2+"'";
  11.            
  12.             Statement objStm    = this.objConexion.createStatement();
  13.  
  14.             ResultSet objResultSet  = objStm.executeQuery(sql);
  15.            
  16.             while( objResultSet.next() )
  17.             {
  18.                 clsAtenciones objAtenciones = new clsAtenciones();
  19.                
  20.                 objAtenciones.setCodigoAtencion( objResultSet.getInt("codigo_atencion") );
  21.                 objAtenciones.setPatente( objResultSet.getString("patente") );
  22.                 objAtenciones.setRutCliente( objResultSet.getString("rut_cliente") );
  23.                 objAtenciones.setNombreCliente( objResultSet.getString("nombre_cliente") );
  24.                 objAtenciones.setTelefonoContacto( objResultSet.getInt("telefono_contacto") );
  25.                 objAtenciones.setFechaIngreso( objResultSet.getString("fecha_ingreso") );
  26.                
  27.                 arrAtencionesPorFechas.add( objAtenciones );
  28.             }
  29.  
  30.             objResultSet.close();
  31.             objStm.close();
  32.             objResultSet.close();
  33.             objStm.close();
  34.             objResultSet.close();
  35.         }
  36.         catch( Exception ex )
  37.         {
  38.             JOptionPane.showMessageDialog(null, "Ha ocurrido un error inesperado. Favor tome contacto con el administrador para solucionarlo");
  39.         }
  40.         finally
  41.         {
  42.             this.setCerrarConexion();
  43.         }
  44.  
  45.         return arrAtencionesPorFechas;
  46.         }


ahora dejo el del evento del boton:

Código Java:
Ver original
  1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  2. try
  3.         {
  4.  
  5.             this.tblBusAtenciones.removeAll();
  6.  
  7.             String fechaIngreso1 = df.format(jDateFechaDesde.getDate() );
  8.             String fechaIngreso2 = df.format(jDateFechaHasta.getDate() );
  9.  
  10.             DefaultTableModel dtm = new DefaultTableModel();
  11.  
  12.             dtm.addColumn("Codigo Atención");
  13.             dtm.addColumn("Patente");
  14.             dtm.addColumn("Rut Cliente");
  15.             dtm.addColumn("Nombre Cliente");
  16.             dtm.addColumn("Telefono Contacto");
  17.             dtm.addColumn("Fecha de Ingreso");
  18.            
  19.  
  20.             ArrayList   arrFecha    = objBd.getObtenerAtencionesPorFechas(fechaIngreso1, fechaIngreso2);
  21.             Iterator    itProductos     = arrFecha.iterator();
  22.  
  23.             while ( itProductos.hasNext() )
  24.             {
  25.                 clsAtenciones objAtenciones   = (clsAtenciones) itProductos.next();
  26.  
  27.                 Object[] arrObj = new Object[6];
  28.  
  29.                 arrObj[0]   = objAtenciones.getCodigoAtencion();
  30.                 arrObj[1]   = objAtenciones.getPatente();
  31.                 arrObj[2]   = objAtenciones.getRutCliente();
  32.                 arrObj[3]   = objAtenciones.getNombreCliente();
  33.                 arrObj[4]   = objAtenciones.getTelefonoContacto();
  34.                 arrObj[5]   = objAtenciones.getFechaIngreso();
  35.  
  36.                 dtm.addRow(arrObj);
  37.             }
  38.  
  39.             this.tblBusAtenciones.setModel(dtm);
  40.         }
  41.         catch( Exception ex )
  42.         {
  43.            
  44.         }

Espero que me puedan ayudar a resolver mi pequeño problema.

P.D: las fechas en el sistema se guardan como DD-MM-YYYY por si acaso
  #2 (permalink)  
Antiguo 05/11/2013, 02:30
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 7 meses
Puntos: 306
Respuesta: problema con obtencion de rangos de fechas

Primero tienes que pintar la consulta que estás haciendo, porque puede no coincidir con lo que tú crees que estás haciendo.

Si la ves correcta, la cojes y la ejecutas manualmente sobre la base de datos para ver qué te devuelve.

EditO: Supongo que las habrás guardado como Date, porque si lo haces como String es normal que no te las ordene, piensa que sigue orden alfabético por lo que el día 1 de cualquier mes estará antes del 5 de cualquier otro mes.

Si no puedes/quieres guardarlo como Date, el formato típico que se utiliza es YYYYMMDD, de esa forma sí te permite ordenarlo.
__________________
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.

Última edición por Xerelo; 05/11/2013 a las 02:39

Etiquetas: clase, formulario, netbeans, obtencion, rangos, 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 06:30.