Passagem de um tipo Date para uma String Sql no Access

8 respostas
J

Estou desenvolvendo uma aplicação com SWING, e ao passar para o preparedStatement.setDate( DATA ) uma data formatada no DateFormat.parse( “15/05/2002”) recebida de um componete JText da tela, estou recebendo a mensagem que o tipo de dado e invalido;
Gostaria de saber se alguem tem um exemplo de como devo receber uma string da tela e gerar um String SQL para inserção no ACCESS.

8 Respostas

Diogenes

Utilize java.text.SimpleDateFormat:

DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
   java.util.Date date = (java.util.Date)format.parse("15/05/2002");

    ...
 
   meuPreparedStmt.setDate(date);
   
   ...
danieldestro

Ou melhor:

java.sql.Date dt = new java.sql.Date( suaData.getTime() ); ps.setDate( 1, dt );

Diogenes

Oops!

Faltou o indice no setDate
Foi mal…

Diogenes

Ah! e claro…a java.util.Date pra java.sql.Date com o método getTime conforme mostrou o Daniel…

Luiz_Henrique_Coura

Olá pessoal!

Aproveitando o tópico, quero perguntar uma coisa.

Não seria melhor utilizar java.util.Calendar ou java.util.GregorianCalendar já que a maioria dos método java.util.Date e java.sql.Date estão deprecated?

Pelos métodos estarem deprecated, isso não quer dizer que a Sun não estimula o uso deles? Aconselha a utilizar outros de outra classe talvez?

Diogenes

Eu realmente costumo usar GregorianCalendar quando preciso manipular Datas…
Mas nesse caso específico não acho necessário…nao foi necessario usar nenhum método deprecated para o q ele estava querendo fazer…

Mas sempre q possível eh bom evitar métodos deprecated…isso sem dúvida eh uma boa prática visto algumas vezes, (senão todas), a nova implementação conter melhorias…

Luiz_Henrique_Coura

Entendo!!

Isso não quer dizer q a Sun irá tirar essa classe da API, certo?

Está somente melhorando as suas implementações criando uma abstração maior de suas classes.

Diogenes

Isso mesmo. Se a Sun retirasse a implementação anterior da API ela acabaria com a compatibilidade das novas versões em relação as anteriores.

Criado 1 de dezembro de 2004
Ultima resposta 2 de dez. de 2004
Respostas 8
Participantes 4