Problemas de insert en MySQL datetime

Tengo una tabla en una bd MySQL 5.0, en la que tengo un campo de tipo "datetime", donde necesito almacenar una fecha y una hora.
Al momento de hacer la inserción a través de un Preparedstatement, el registro se copia en la tabla sin problema, salvo que el campo datetime solamente me guarda la fecha y la hora me la deja en ceros; es decir, algo así:
2008-09-11 00:00:00
Ya estoy desesperado ya lo intenté todo.  Adjunto un fragmento de mi código
[size= x-small]Timmestamp timestamp = [/size][size= x-small; color: #7f0055]new [/size][size= x-small]Timestamp(new Date().getTime());
String <span style="font-size: x-small;">insert =[/size]</span> "Insert into clientes values(?, ?, ?)";
PreparedStatement pstmt = conn.preparedStatement(insert);
pstmt.setInt(1, cliente.getTelefono());
pstmt.setInt(2, cliente.getNumIntentos());
pstmt.setTimestamp(3, timestamp);
pstmt.execute();
La estructura de mi tabla es:
CREATE TABLE `clientes` (                  
            `telefono` int(11) NOT NULL,             
            `numIntentos` int(11) NOT NULL,          
            `fechaUltimaConsulta` datetime NOT NULL, 
            PRIMARY KEY  (`telefono`)                
          ) ENGINE=InnoDB DEFAULT CHARSET=latin1  
Agradezco su ayuda
{"lat":5.61598581915534,"lng":-73.828125}

1 Respuesta

Respuesta
1
Creo que tu problema se soluciona usando la clase java.sql.Date para crear la fecha que quieres insertar, y meterla en el preparedStatement como setDate(3, sqlDate). Un ejemplo:
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
pstmt.setDate(3,sqlDate);
pstmt.execute();
Prueba a ver que tal y me cuentas. Un saludo, y no te olvides valorar la respuesta ;-)
Carlos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas