E ae galera,beleza?
Uso um jFTF para receber a data do jFrame convertendo para o formato do banco(sql) dessa forma:
java.sql.Date DataNascimento = new java.sql.Date(formato.parse(ftfDataNascimento.getText()).getTime());
pessoal.setDataNascimento(DataNascimento);
Funciona,mas quando esse jFormattedTextField é deixado vazio( / / ) gera a seguinte exceção:
java.text.ParseException: Unparseable date: " / / "
No uso do sistema haverá situações em que esse campo de data realmente não será preenchido.Como posso corrigir isso?
Como o campo não é obrigatório, eu geralmente faço isto:
if(ftfDataNascimento.getText().trim().length() == 10){
try{
java.sql.Date DataNascimento = new java.sql.Date(formato.parse(ftfDataNascimento.getText()).getTime());
pessoal.setDataNascimento(DataNascimento);
}catch(ParseException pe){
// informa ao usuário que a data é inválida
}
}else{
pessoal.setDataNascimento(null);
}
Valfrido,
Com o try e catch realmente funciona,mas eu ja tinha descoberto uma outra solução:
String text = ftfDataNascimento.getText();
java.sql.Date DataNascimento;
if (!text.equals(" / / ")) {
DataNascimento = new java.sql.Date(formato.parse(text).getTime());
} else {
DataNascimento = null;
}
pessoal.setDataNascimento(DataNascimento);
Muito obrigado pela atenção cara,
Abraço!