Notificação

Estou fazendo uma notificação em um sistema ,de quando eu precisar realizar uma manutenção em tal dia, o software mostra uma mensagem quando for feito o Login. Só que eu não estou conseguindo puxar todas as datas das manutenções salvas no bd e comparar com a data atual do sistema.
Segue o código desta parte.
public void notificação() throws SQLException {
String sql = “select datas from manutenção”;
pst = connectar.prepareStatement(sql);
rs = pst.executeQuery();
ArrayList datas = new ArrayList();
datas.add(sql);
String confirmação = jdata.getText();
for (int i = 0; i < datas.size(); i++) {

     if (sql.equals(confirmação)) {
            JOptionPane.showMessageDialog(null, "Manutenção de tal equipamento a ser realizada hoje");
        } else {
            JOptionPane.showMessageDialog(null, "Sem manutenção para hoje");
        }   
    }

Acho q vc bugo na lógica.
Vc tm uma var sql String q tem a sql a ser executada. Ai vc cria uma lista datas e adiciona a var sql nesta lista, mas vc nem ta lendo o retorno da consulta.

E por que não faz um select só com a data de hoje, fera?

WHERE datas = ?;

pstm.setDate(1, new java.sql.Date(new Date().getTime()));

como eu faço para ler esse retorno então,estou meio bugado msm.Pq penso esta colocando estas dastas dentro desse Array.

como assim?

Do jeito que sugeri.

e se eu quiser fazer uma alerta uns sete dias antes,como vc me sugeria para subtrair essas datas?

Usar a classe Calendar. Ou LocalDate.

No tutorial abaixo mostra como vc faz uma consulta de forma correta:
https://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html
Primeiro de um jeito de conseguir ler dados do banco, depois vc altera a sql pra vir somente do dia/periodo q vc quer

1 curtida

obrigado cara

Obrigado mano