[RESOLVIDO] Formato de data

2 respostas
C

Boa noite.

Estou tendo problemas para inserir registro com data no MySQL

Quando tento gravar o registro no banco de dados pela minha aplicação recebo a mensagem abaixo:

Data Nascimento: ‘02/12/2011’ could not be understood as a date.

Alguém sabe onde ou como configuro o formato?

2 Respostas

A

Recomendo que sempre que for enviar uma data ao banco de dados, mande junto o formato (com uma função de conversão).
Com isso não será necessário configurar um formato pré-definido antes.

No Mysql, uma função que faz isto é a str_to_date.

De qualquer forma, no Java, dificilmente você precisará se preocupar com isso.

Utilizando o PreparedStatement, você pode utilizar o método setDate, que recebe um java.sql.Date e já executa as conversões necessárias para você.

Arthemus

Uma outra alternativa possivel é você utilizar a classe SimpleDateFormat e já passar um objeto instanciado da classe java.sql.Date. De uma olhada nesse exemplo:

public Date getDataSQL(Date AData) throws ParseException {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date dDataAtual = format.parse(format.format(AData));
    java.sql.Date dDataSQL = new java.sql.Date(dDataAtual.getTime());

    return dDataSQL;
}
Esse método pode não ser a melhor ou mais pratica solução (parece dar uma tremenda volta rs) mas já serve de exemplo, faça um teste.
Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 2
Participantes 3