Capturar data de um dateChooser e buscar no banco

7 respostas
L

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?

7 Respostas

Jothar_Aleksander

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

SELECT * FROM tabela WHERE data BETWEEN dataPesquisa;

L

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?

Jothar_Aleksander

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.

L

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.

Jothar_Aleksander

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

L

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());

L

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?

Criado 14 de agosto de 2019
Ultima resposta 27 de ago. de 2019
Respostas 7
Participantes 2