Estoy haciendo una prueba, estoy manejando fecha_registro de tipo date en la tabla registro_aistencia de mysql, almacena en formato yyyy-MM-dd,
lo que quiero lograr es en la clase controladorAsistencia.java, utilizar el SimpleDateFormat para insertar el dato fecha en el formato (dd-MM-yyyy) en la tabla registro_asistencia.
a un no consigo insertar la fecha con el formato, me manda este error: Cannot format given Object as a Date.
el codigo es el siguiente:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import modelo.modeloAsistenciaTrabajadores;
public class controladorAsistenciaTrabajadores {
public boolean insertar(modeloAsistencia modeloAsistencia) {
String insertar = "INSERT INTO REGISTRO_ASISTENCIA(FECHA_REGISTRO,ID_DEPARTAMENTO,ID_EMPLEADO) VALUES(?,?,?);";
PreparedStatement psmt = null;
boolean insertOK = false;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mantenimiento");
Connection con = ds.getConnection();
psmt = con.prepareStatement(insertar);
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy");
String fechaformateada =formato.format(modeloAsistencia.getFecha_registro_asistencia());
psmt.setString(1, fechaformateada);
psmt.setInt(2, modeloAsistencia.getId_departamento());
psmt.setInt(3, modeloAsistencia.getId_empleado());
if (psmt.executeUpdate() == 1) {
insertOK = true;
} else {
insertOK = false;
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
return insertOK;
} }
Alguien me podria decir alguna sugerencia