0

Tengo un JTable que lleno con datos filtrados de la base de datos (el usuario selecciona qué columnas de la base quiere en la tabla marcando jCheckBoxes). Pero quería que el usuario pudiera elegir datos de días específicos, para eso agregué un jDateChooser a la pantalla.

Mi problema es que no puedo filtrar mi consulta con la fecha seleccionada en el DateChooser. Así es como lo intenté (me sale una NullPointerException en la primera línea):

 java.sql.Date buscaFecha = new java.sql.Date(jDateChooserFecha.getDate().getTime()); // Aquí me sale un NullPointerException

 llenarTabla("SELECT * FROM tabla WHERE fecha = '" +buscaFecha+ "'");

EDIT: Error completo:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at visao.TabelaConsultaArenaProceso.<init>(TabelaConsultaArenaProceso.java:59)
at visao.TabelaConsultaArenaProceso$8.run(TabelaConsultaArenaProceso.java:879)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

** La línea 59 es la primera del código que puse ahí arriba

El método "llenarTabla" es el que uso en la tabla y funciona si hago una busca "normal" ("SELECT * FROM tabla") o también si pongo la fecha en la consulta ("SELECT * FROM tabla WHERE fecha = '26-08-2019'").

¿Cómo puedo filtrar mi busca con la fecha del DateChooser?

  • Ayudaria que pusieras todo el error. Entre mas informacion pongas en tu pregunta, es mas probable que te podamos ayudar. En SQL las fechas se comparan con el formato yyyy-MM-dd. Seria 2019-08-22 – Kaz Miller Aug 27 '19 at 14:07
  • Voy a editar la pregunta para poner todo el error. Y ok, pero si pongo (manualmente) dd/mm/yyyy también funciona. Lo que no funcionaria es algo con el mes primero, como mm/dd/yyyy o algo así. Con eso no hay problema. – Leonardo Buzzi Aug 27 '19 at 14:40
  • Con que motor de base de datos estas trabajando? – Kaz Miller Aug 27 '19 at 14:44
  • Con PostgreSQL. – Leonardo Buzzi Aug 27 '19 at 14:51
  • ¿Responde esto a tu pregunta? [¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?](https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados) – Ruslan López Apr 28 '21 at 06:06
  • yo opino que tu jDateChooserFecha no tiene una fecha configurada cuando carga tu ventana y de allí que te de NPE cuando tratas de encadenar métodos – Ruslan López Apr 28 '21 at 06:07

0 Answers0