Capturar data de um dateChooser e buscar no banco

Acho que o título diz tudo. Como pegar a data de um dateChooser e fazer um select no banco com essa data?

Exemplo: trazer dados do banco = (SELECT * FROM tabela WHERE data BETWEEN ‘dateChooser1’ AND ‘dateChooser2’)

De que forma eu pegaria a data do dateChooser pra jogar na parte do código onde faco a consulta no banco?

Que tal assim?
java.sql.Date dataPesquisa = new java.sql.Date(dateChooser1.getDate());

SELECT * FROM tabela WHERE data BETWEEN dataPesquisa;

1 curtida

Eu já tinha tentado assim mas sai um erro de “Incompatible types: Date cannot be converted to long”.

Nao entendo como fazer essa conversao. Alguma ideia?

Ah é, falha minha:

java.sql.Date dataPesquisa = new java.sql.Date(dateChooser1.getDate().getTime());

SELECT * FROM tabela WHERE data BETWEEN dataPesquisa;

O método getTime() retorna um long.

1 curtida

Agora saiu um "Exception in thread “AWT-EventQueue-0" java.lang.NullPointerException”.

Esse é o tipo de coisa que me desanima, parece uma coisa tao simples e perco uma vida tentando resolver hahaha

Tentei rodar o programa colocando uma data específica (‘14-08-2019’, por ex) no lugar do dataPesquisa e o erro persiste.

Mas quando tiro a parte do “java.sql.Date dataPesquisa = new java.sql.Date(dateChooser1.getDate().getTime());”, vai de boa. Entao imagino que o erro esteja nessa linha. Aliás, é justamente a primeira linha que sai no erro: “at visao.TabelaConsultaArenaProceso.(TabelaConsultaArenaProceso.java:56)

Estou aqui tentando entender/resolver o erro, mas aguardo uma resposta do companheiro.

Em qual linhas está lançando essa exception? Mande a mensagem de erro completa.

Mensagem de erro completa:

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at visao.TabelaConsultaArenaProceso.(TabelaConsultaArenaProceso.java:57)
at visao.TelaInicial.jButtonConsultarBaseActionPerformed(TelaInicial.java:122)
at visao.TelaInicial.access$300(TelaInicial.java:14)
at visao.TelaInicial$4.actionPerformed(TelaInicial.java:83)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
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)

E a linha 57 é essa:

java.sql.Date pesquisaData = new java.sql.Date(jDateChooserBanco.getDate().getTime());

Ressuscitando o tópico…

Alguém consegue me ajudar com isso? Continuo travado no mesmo lugar. Quero pegar a data do DateChooser e jogar na consulta ao banco, para que traga resultados desse dia específico.

Entre várias tentativas, a que me pareceu mais coerente foi justamente que o companheiro me indicou aqui. Porém me sai uma NullPointerException:

java.sql.Date buscaDataInicial = new java.sql.Date(jDateChooserInicial.getDate().getTime()); // Aqui acusa a Null Pointer Exception

preencherTabela("SELECT * FROM tabela WHERE data = '"+buscaDataInicial+"'");

Alguma ideia do que pode estar causando o erro? Há outra forma de pegar a data do DateChooser e jogar no meu select?