Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jose carlos lacerda

Problemas com java.sql.Date

Recommended Posts

Pessoal, eu estou com um problema na hora de inserir uma data no meu banco. Quando eu faço a inserção de uma data 2009-10-14 ele joga no banco da seguinte maneira: 3909-11-14. não sei mais o que fazer.

 

vamos para o código.

 

tenho um classe DAO para fazer essa inserção e sua estrutura é a seguinte:

 

	import java.sql.Time;
                import java.sql.Date;
               ...

                public Class AgendaDependencia{
                               private Time horaInicio;
                               private Date data;
                }
               
                ...
 
                public boolean adicionarAgendaDependencia(AgendaDependencia agendaDependencia) throws SQLException{
		
		String sql = "insert into tbteste(hora, data) values(?, ?)";
		
		PreparedStatement ps;
		try{
			ps = conn.prepareStatement(sql);
			ps.setTime(1, agendaDependencia.getHoraInicio());
			ps.setDate(2, agendaDependencia.getData());
			
			ps.execute();
		}finally{
			conn.close();
		}
		return true;
	}

eu já tentei inserir também de outras formas como:

...
ps.setTimestamp(2, new Timestamp(agendaDependencia.getData().getTime()));
...
ps.setTimestamp(2,new Timestamp(new java.util.Date(2009, 10, 20).getTime()));
...

 

lembrando que meu banco é MYSQL e meu campo é do tipo DATE.

 

Pessoal, se vcs puderem que ajudar o quanto antes eu agradeço.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta utilizar pstmt.setObject(2, agendaDependencia.getData());. Dessa forma você deixa o JDBC escolher a forma mais adequada de se salvar o campo na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.