ABAP - mysql does not have default value

 
Vista:
Imágen de perfil de roberto

mysql does not have default value

Publicado por roberto (2 intervenciones) el 03/01/2015 03:56:17
que tal amigos: estoy desarrollando un aplicacion con netbeans enlazada con una base de datos de PHPMYADMIN alli tengo una tabla empleado a la hora de hacer el registro para introducir una fecha me sale este error <DATA truncation: Incorrect date value "for column 'fingreso' at row 1">

que puede ser este error? y envio el codigo que tengo en la IDE la cual esta en construccion y me registra campos pero las fechas nada y si me pueden decir donde descargar el JDateChooser ya que lo tengo instalado pero tambien me genera error a la hora de arrastrarlo al formulario <failed to create an Instance of com.toeder.Calendar JdateChooser>.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
conexionmysql mysql=new conexionmysql();
Connection cn=mysql.conectar();
String cod,nom,ape,cedu,sex,hijo,eciv,dire,cta,tel,cel,nomep;
String sql="";
String mensaje="";
 
 
 
java.util.Date date = new java.util.Date();
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd");
String fna = sdf.format(date);
String fin=sdf.format(date);
 
 
 
 
 
 cod=txtcod.getText();
 nom=txtnombre.getText();
 ape=txtapellido.getText();
 cedu=txtcedula.getText();
 hijo=txthijos.getText();
 sex=cbosexo.getSelectedItem().toString();
 fin=txtfingre.getText();
 eciv=cbocivil.getSelectedItem().toString();
 fna=txtahorro.getText();
 tel=txtttel1.getText();
 cel=txttel2.getText();
// cta=txtahorro.getText();
 dire=txtdire.getText();
 nomep=txtnit.getText();
 
 
 sql="INSERT INTO `empleado`(`cod_empl`, `apellido`,`cedula`, `nombres`, `tel1`, `tel2`, `hijos`, "
         +   " `sexo`, `fingreso`, `ecivil`, `fnacimiento`, `direccion`, `nomep` "
         + "  ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)";
 mensaje="Los Datos se han Insertado de forma correcta...... ";
 
        try
        {
 
            PreparedStatement pst=cn.prepareStatement(sql);
            pst.setString(1, cod);
            pst.setString(2, cedu);
            pst.setString(3, nom);
            pst.setString(4, ape);
            pst.setString(5, hijo);
            pst.setString(6, sex);
            pst.setDate(7, null);
            pst.setString(8, eciv);
            pst.setString(9, tel);
            pst.setString(10, cel);
            //pst.setString(11, cta);
            pst.setDate(11, null);
            pst.setString(12, dire);
            pst.setString(13, nomep);
 
            int n=pst.executeUpdate();
            if (n>0)
            {
             JOptionPane.showMessageDialog(null, mensaje);
            }
        }
        catch (SQLException ex) {
          //  Logger.getLogger(Empleados.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex);
        }
 
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

mysql does not have default value

Publicado por Alejandro (226 intervenciones) el 13/04/2023 20:50:16
El error que estás viendo "DATA truncation: Incorrect date value "for column 'fingreso' at row 1"" significa que estás intentando insertar una fecha incorrecta en la columna 'fingreso' de la tabla 'empleado'.

En tu código, estás estableciendo la variable 'fin' con la fecha actual formateada en el formato 'yyyy-MM-dd', pero luego estás asignando el valor de 'txtfingre.getText()' a la variable 'fin'. Probablemente 'txtfingre' no tenga un valor válido de fecha y por eso estás viendo ese error.

Para solucionar este problema, asegúrate de que el valor de 'txtfingre' tenga una fecha válida en el formato 'yyyy-MM-dd' antes de asignarlo a la variable 'fin'. Puedes hacer esto utilizando una instancia de la clase 'SimpleDateFormat' y el método 'parse' para convertir una cadena de fecha en un objeto de fecha:

1
2
3
4
5
6
7
8
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
String fin = "";
try {
java.util.Date date = sdf.parse(txtfingre.getText());
fin = sdf.format(date);
} catch (ParseException ex) {
// Manejar el error si la cadena de fecha no es válida
}

También estás intentando establecer el valor de la columna 'fnacimiento' a null en tu consulta SQL, lo que puede generar otro error si esa columna no acepta valores nulos. Asegúrate de proporcionar un valor válido para esa columna o cambiar su definición para aceptar valores nulos si no es necesario.

En cuanto a la descarga del JDateChooser, puedes buscarlo en línea y descargarlo desde el sitio web oficial o desde un repositorio de código abierto como GitHub. Una vez descargado, debes agregarlo como una biblioteca externa a tu proyecto y asegurarte de que todas las dependencias estén configuradas correctamente. Si aún experimentas errores al agregarlo a tu formulario, puede ser útil verificar si hay conflictos de versión o si el archivo JAR está dañado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar