tengo un jtexfield dentro de un jframe que solicita "fecha de nacimiento" además de otros campos.
El problema se presenta cuando quiero ingresar dicho campo a la base mysql ya que lo rechaza por ser nulo.
En la base esta definido como DATE y puede ser nulo ( NULL).
Sin embargo desde Netbeans se lista la excepción:
feb 22, 2021 3:15:51 PM vista.FrmPersonas registrarActionPerformed
GRAVE: null
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect date value: 'null' for column 'per_fecha_nac' at row 1
la clase llama al método:
cp.actualizarPersona(el_id, tipo, apellido, nombre, sexo, nacionalidad, fecha_nac, lugar_nac, tipo_doc, cuit, profesion, nivel_educativo, estado_civil, conyuge_apellido, conyuge_nombre, estado);
donde fecha_nac es de tipo DATE,
y el método tiene la siguiente estructura:
Conexion cdb = ConectarServicio.getInstancia().getConexionDB();
cdb.sql = "select * from personas where per_id = '" + p.getId() + "'";
cdb.rs = cdb.st.executeQuery(cdb.sql);
if (cdb.rs.next()) {
cdb.sql = "update personas set per_tipo = '" + p.getTipo() +
"', per_apellido = '" + p.getApellido() +
"', per_nombre = '" + p.getNombre() +
"', per_sexo = '" + p.getSexo() +
"', per_nacionalidad = '" + p.getNacionalidad() +
"', per_fecha_nac = '" + p.getFecha_nac() +
"', per_lugar_nac = '" + p.getLugar_nac() +
"', per_tipo_doc = '" + p.getTipo_doc() +
"', per_cuit = '" + p.getCuit() +
"', per_profesion = '" + p.getProfesion() +
"', per_nivel_educativo = '" + p.getNivel_educativo() +
"', per_estado_civil = '" + p.getEstado_civil() +
"', per_conyuge_apellido = '" + p.getConyuge_apellido() +
"', per_conyuge_nombre = '" + p.getConyuge_nombre() +
"', per_estado = '" + p.getEstado() +
"' where per_id = '" + p.getId() + "'";
cdb.st.executeUpdate(cdb.sql);
No he puesto la clase Personas "p", pero aclaro que todo funciona bien cuando ingreso una fecha valida dentro del respectivo campo. El problema es cuando dicho campo no contiene dato alguno.
Desde consola mysql, al mismo registro lo puedo ingresar con la misma instruccion "update" y el campos per_fecha_nac=null.
Cómo puedo solucionar ese inconveniente?