Olá,
O código abaixo pega o intervalo de duas datas minhas e procura no banco (no banco está como Date) e as variáveis são do tipo Date tmbm, porém quando pesquiso esse intervalo ele acha as datas que quero, porém ele não ta me retornando a primeira data, ele mostra a partir da segunda data do intervalo que to procurando:
conecta_RelatAlmox = new ConexaoBD();
conecta_RelatAlmox.conecta();
String data_De = dataDe.getText();
String data_Ate = dataAte.getText();
String[] DateDe = data_De.split("-");
String[] DateAte = data_Ate.split("-");
LocalDate DataDe = LocalDate.of(Integer.parseInt(DateDe[2]), Integer.parseInt(DateDe[1]), Integer.parseInt(DateDe[0]));
LocalDate DataAte = LocalDate.of(Integer.parseInt(DateAte[2]), Integer.parseInt(DateAte[1]), Integer.parseInt(DateAte[0]));
String sql= "select * from almox_requi_materiais where data between '"+DataDe+"' and '"+DataAte+"'";
// o SQL roda uma data do tipo yyyy-MM-dd
try
{
pst=conecta_RelatAlmox.conexao.prepareStatement(sql);
conecta_RelatAlmox.resultset= pst.executeQuery();
conecta_RelatAlmox.resultset.next();
// contando quantos itens foi achado na tabela
Table_Resumo.getColumnModel().getColumn(0).setPreferredWidth(15);
Table_Resumo.getColumnModel().getColumn(1).setPreferredWidth(15);
Table_Resumo.getColumnModel().getColumn(2).setPreferredWidth(150);
Table_Resumo.getColumnModel().getColumn(3).setPreferredWidth(15);
DefaultTableModel modelo = (DefaultTableModel)Table_Resumo.getModel();
modelo.setNumRows(0);
try{
while (conecta_RelatAlmox.resultset.next())
modelo.addRow(new Object[]{
conecta_RelatAlmox.resultset.getInt("num_requisicao"),
data_formato.format(conecta_RelatAlmox.resultset.getDate("data")),
conecta_RelatAlmox.resultset.getString("retirado_por"),
conecta_RelatAlmox.resultset.getInt("centroCusto")
});
// mostra a quantidade total
String sql2 = "select count(*) from almox_requi_materiais where data between '"+DataDe+"' and '"+DataAte+"'";
conecta_RelatAlmox.executeSQL(sql2);
while(conecta_RelatAlmox.resultset.next()){
quantidade.setText(""+conecta_RelatAlmox.resultset.getInt("COUNT(*)"));
}
conecta_RelatAlmox.resultset.close();
}catch(SQLException erro){
JOptionPane.showMessageDialog(null," Erro ao listar as requisições, tente novamente" + erro);
}
}catch(SQLException erro){}
Por exemplo, se eu procurar as datas entre 18/10/2019 ate 22/10/2019 ele vai me retornar o seguinte:
19/10/2019
20/10/2019
21/10/2019
22/10/2019
Ele deveria mostrar do dia 18/10/2019 tmbm… Não consigo achar o erro de lógica.