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
publicList<CadNotaFiscal>getLista(Stringnumero_nf)throwsSQLException{Stringsql="select * from cad_nf where numero_nf like ?";PreparedStatementstmt=this.conexao.prepareStatement(sql);stmt.setString(1,numero_nf);ResultSetrs=stmt.executeQuery();List<CadNotaFiscal>minhaLista3=newArrayList<CadNotaFiscal>();SimpleDateFormatf=newSimpleDateFormat("dd/MM/yyyy");while(rs.next()){CadNotaFiscalcnf=newCadNotaFiscal();//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 errominhaLista3.add(cnf);}rs.close();stmt.close();returnminhaLista3;}
faz tempo que estou batalhando nisso, ta complicado
Alexandre_Saudate
rafa120:
hmm da o mesmo erro
pq será?
faz tempo que estou batalhando nisso, ta complicado
Por acaso, há chance do resultset estar retornando esta linha como null ? Em outras palavras, este campo está como not null no BD ?
[]´s
rafa120
Esta como null
Alexandre_Saudate
Já tem sua resposta… não pode passar null para o método format.
[]´s
rafa120
hmm…vou modificar algumas coisas aqui entao e testar e ja respondo
pq eu fiz um metodo que se a pessoa nao digitar nada, recebe null
rafa120
mesmo erro, rss
Retirei null do banco, e retirei null no metodo… mas nada ainda
rafa120
Bom, estou tentando tratar isso nesta classe, que é uma classe DAO (só sql)
nao aponta nenhum erro
ai quando executo outra classe que é um formulario ele roda, mas ai qdo clico no pesquisar… ai gera este erro
sera que é realmente nesta classe q eu preciso tratar isso?
mgarcia
Fala…
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…
rafa120
Galera
Obrigado pela ajuda
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())));