Pessoal, quero trazer a data formatada do banco para dd/MM/yyyy
Eu consigo cadastrar no formato Brasileiro de boa, mas pra trazer nao!
ai estou tentando fazer isso no resultset numa classe DAO e da este erro
java.lang.IllegalArgumentException: Cannot format given Object as a Date
[code]public List<CadNotaFiscal> getLista(String numero_nf) throws SQLException
{
String sql = "select * from cad_nf where numero_nf like ?";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, numero_nf);
ResultSet rs = stmt.executeQuery();
List<CadNotaFiscal> minhaLista3 = new ArrayList<CadNotaFiscal>();
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
while (rs.next())
{
CadNotaFiscal cnf = new CadNotaFiscal();
//cnf.setVencimento(rs.getDate("vencimento")); //Desse jeito traz o resultado OK, mas no formato yyyy-MM-dd
cnf.setVencimento((Date.valueOf(f.format("vencimento")))); //Aqui onde eu tento q da o erro
minhaLista3.add(cnf);
}
rs.close();
stmt.close();
return minhaLista3;
}[/code]
na classe DAO, vc só deve dar o set normal da data, sem nenhuma formatação de data com SimpleDateFormat…
Na classe DAO preocupe-se apenas em colocar os valores corretos em cada atributo…
Agora na camada de apresentação vc formata a data com o SimpleDateFormat, método format e deve funcionar corretamente…
realmente na classe DAO nao se pode fazer
tentei novamente no formulário, onde traz os dados para a tabela e consegui
Ai deu erro de objeto, mas como o asaudate disse, format nao serve para null… entao é só arruma isso
é muito fácil, porém eu só demorei pq nao estava sabendo o local correta pra colocar a formatacao
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
txtEmissao.setText(String.valueOf(f.format(notasf.get(tabela.getSelectedRow()).getEmissao())));