Fala Pessoal blz, então, estou fazendo um programa em Java que cadastra pessoas no banco de dados, até ai tranquilo consegui fazer com sucesso, porém me foi solicitado fazer uma nova funcionalidade no meu programa, que é fazer um lembrete dos aniversariantes do mês, ai já começa meus problemas porque minha data no banco está em String eu salvei com a mascara do campo txt do Java, e pelo que andei pesquisando vou ter que usar o Date e o Calendar, e eu nem sei pra onde vai kkkk então eu estou com esses seguintes problemas:
- Buscar as datas no banco e converter pra Date em java para poder fazer cálculos
- fazer o cálculo
- exibir os aniversariantes na jTable
O código que eu fiz na verdade está longe de funcionar eu sei que está errado mas eu tentei aplicar as ideias quem poder me dar sugestões
package view;
import dal.ConexaoBancoDeDados;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
/**
* @author Omega
*/
public class Aniversario extends javax.swing.JFrame {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
/**
* Creates new form visitante
*/
public Aniversario() {
initComponents();
conn = ConexaoBancoDeDados.conector();
pesquisar();
}
private void pesquisar() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar cal = Calendar.getInstance();
String sql = "select nascimento from membroecolaborador";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery(sql);
Date dataFormatada = sdf.parse(rs.getString(4));
cal.setTime(dataFormatada);
int ano = cal.get(Calendar.YEAR);
Date atualData = new Date();
cal.setTime(atualData);
int anoAtual = cal.get(Calendar.YEAR);
int age = anoAtual - ano;
if (Calendar.MONTH == atualData.getTime()) {
tblMembros.setModel(DbUtils.resultSetToTableModel(rs));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}
Mais ou menos isso, quando fazer os cálculos aparece na jTable as pessoas que fazem aniversário no mês