Tema: Error
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2014, 14:03
ignatar20
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 0
Error

Muy buenas.
Tengo un problema y es el siguiente:
java.lang.NumberFormatException for input string: 123.

Se que es por incompatibilidad del dato enviado a la base de datos, pero el caso es que hago bien (o creo hacerlo bien xD) la conversión de string a int y me sigue saliendo.
También sé que hay muchos post relacionados con el mío, pero me he leído unos cuántos y no he podido solucionarlo.
Os dejo el código para que lo entendáis mejor.

Código Java:
Ver original
  1. private void btGuardarActionPerformed(java.awt.event.ActionEvent evt) {                                          
  2.              
  3.        try
  4.        {
  5.             String nombre,direccion,telefonoS,ciudad,sueldoS,idS,puesto;
  6.             int id,telefono;
  7.             double sueldo;
  8.             nombre = this.tfNombre.getText();
  9.             direccion = this.tfDireccion.getText();
  10.             telefonoS = this.tfTelefono.getText();
  11.             ciudad = (String)this.cbCiudad.getSelectedItem();
  12.             sueldoS = this.tfSueldo.getText();
  13.             idS = this.tfID.getText();
  14.             puesto = this.tfPuesto.getText();
  15.             mostrarMensaje(idS);
  16.            if(nombre.equals("")|| puesto.equals("")|| direccion.equals("")||telefonoS.equals("")|| ciudad.equals("")|| sueldoS.equals("")|| idS.equals(""))
  17.            {
  18.                mostrarMensaje("Error, todos los campos deben estar escritos.");
  19.            }
  20.            else
  21.            {
  22.                
  23.                
  24.                try
  25.                {
  26.                 id = Integer.parseInt(idS);
  27.                 telefono = Integer.parseInt(telefonoS);
  28.                 sueldo = Double.parseDouble(sueldoS);
  29.                 Class.forName("com.mysql.jdbc.Driver");
  30.                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bdempleados","","");
  31.                Statement stmt=(Statement)con.createStatement();
  32.                String sql = "insert into trabajadores(ID,Nombre,Direccion,Ciudad,Telefono,Sueldo,Puesto)values"+"("+id+",'"+nombre+"','"+direccion+"','"+ciudad+"',"+telefono+","+sueldo+",'"+puesto+"')";
  33.                stmt.executeUpdate(sql);
  34.                mostrarMensaje("Empleado guardado correctamente");  
  35.                }catch(NumberFormatException e2)
  36.                {
  37.                    mostrarMensaje("Error de conexion\n"+e2);
  38.                }
  39.        
  40.            }
  41.            
  42.        }catch(Exception e)
  43.        {
  44.            mostrarMensaje("Debe introducir todos los campos\n"+e);
  45.        }

Gracias de antemano.

Saludos