0
I am unable to display the sql database date type Date
in Jtable, the date appears that way:
I use the following method to call the table data:
public ArrayList<Alunos> read(){
PreparedStatement stmt = null;
ResultSet rs = null;
ArrayList <Alunos> aluno = new ArrayList();
try {
stmt = connection.prepareStatement("select * from alunos");
rs = stmt.executeQuery();//guarda os resultados do select no rs
while(rs.next()){ //enquanto o select gerar valor, o while será executado
Alunos alu = new Alunos();
//Date data = (Date) alu.getDataNascimento().getTime();
alu.setId(rs.getInt("id"));//nome da coluna onde será mostrado
alu.setNome(rs.getString("nome"));
alu.setCpf(rs.getString("cpf"));
alu.setRg(rs.getString("rg"));
alu.setEndereco(rs.getString("endereco"));
alu.setEstado(rs.getString("estado"));
alu.setDataNascimento(toCalendar(rs.getDate("nasc")));
aluno.add(alu);
}
stmt.close();
rs.close();
} catch (SQLException ex) {
Logger.getLogger(AlunoDao.class.getName()).log(Level.SEVERE, null, ex);
}
return aluno;
}
public static Calendar toCalendar(Date date){
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
return cal;
}
And this is where I call the method in JPanel
:
public void readJTable(){//lê os dados para tabela
DefaultTableModel modelo = (DefaultTableModel) jTAlunos.getModel();
AlunoDao aluDao = new AlunoDao();
for(Alunos a: aluDao.read()){///adiciona linha na tabela
modelo.addRow(new Object[]{
a.getId(),
a.getNome(),
a.getCpf(),
a.getRg(),
a.getEndereco(),
a.getEstado(),
a.getDataNascimento().toString()
});
}
}
This is the class where I keep the data:
import java.util.Calendar;
public class Alunos {
private int id;
private String nome;
private String cpf;
private String rg;
private String endereco;
private String estado;
private Calendar dataNascimento;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
}
Carlos, provide a [mcve] so that it is possible to test the code and propose a solution.
– user28595