Ayuda con Java

Iniciado por ArhennJosey, 23 Mayo 2013, 16:41 PM

0 Miembros y 1 Visitante están viendo este tema.

ArhennJosey

Buen dia, resulta que estoy realizando un formulario con jdeveloper conectada a BD mysql, tengo que insertar, consultar, modificar y borrar, en este momento e lo unico que no me funciona es el  actualizar, e mirado muchas maneras pero no me funciona, alguien me puede ayudar, dejo codigo de insertar y borrar, gracias.

BOTON GUARDAR

    private void jButton2_actionPerformed(ActionEvent e) throws SQLException {

      int i=0;
      int mCodigo = Integer.parseInt (textCodigo.getText());
      String mNombre = textNombre.getText();
      String mApellido = textApellido.getText();
      int mSalario = (int) (empleado.getSalario());
      int mdiast = Integer.parseInt (sdiast);
      int mQuincena = (int) (empleado.getQuincena());
      int mAuxTrans = (int) (empleado.getAuxTrans());
      int mTotalDevengado = (int) (empleado.getTotalDevengado());
      int mSalud = (int) (empleado.getSalud());
      int mPension = (int) (empleado.getPension());
      int mFSP = (int) (empleado.getFSP());
      int mTotalDescuentos = (int) (empleado.getTotalDescuentos());

          PreparedStatement Pinsertar = null;
      String sql01 = "INSERT INTO empleado VALUES ("+mCodigo+",'"+mNombre+"','"+mApellido+"',"+mSalario+","+mQuincena+","+mAuxTrans+","+mSalud+","+mPension+","+mFSP+")";

      try {

             Pinsertar = conexion.prepareStatement(sql01);
             Pinsertar.executeUpdate();
          }

      catch (SQLException err)

      {
       
        System.out.println("Error al tratar de abrir la Base de Datos"+err.getMessage());
      }
       
   
    }

BOTON BORRAR

    private void jButton5_actionPerformed(ActionEvent e)
    {
      int mCodigo = Integer.parseInt (textCodigo.getText());
      String mNombre = textNombre.getText();
      String mApellido = textApellido.getText();
     
      PreparedStatement Pborrar = null;
      String sql04 = "DELETE FROM empleado WHERE CODIGO="+mCodigo;

      try {

             Pborrar = conexion.prepareStatement(sql04);
             Pborrar.executeUpdate();
          }

      catch (SQLException err)

      {
       
        System.out.println("Error al tratar de abrir la Base de Datos"+err.getMessage());
      }
       


    }

BOTON ACTUALIZAR QUE "NO" ME FUNCIONA

    private void jButton4_actionPerformed(ActionEvent e)     {
       
     
      int mCodigo = Integer.parseInt (textCodigo.getText());
      String mNombre = textNombre.getText();
      String mApellido = textApellido.getText();
      int mSalario = Integer.parseInt(textSalario.getText());
     
     
      PreparedStatement Pmodificar = null;
     
     
     String sql03 = "UPDATE empleado SET nombre="+"'"+mNombre+"', apellido="+"'"+mApellido+"',salario="+""+mSalario+" WHERE CODIGO="+mCodigo;
     

      try {

             Pmodificar = conexion.prepareStatement(sql03);
             Pmodificar.executeUpdate();
          }

      catch (SQLException err)

      {
         JOptionPane.showMessageDialog( null,"Empleado no encontrado","Mensaje Nomina",JOptionPane.ERROR_MESSAGE);
       
       
      }
        textNombre.requestFocus();


agradezco quien me pueda ayudar a ver que estoy haciendo mal.


Zoik

#1
Prueba a pasarle los parámetros de esta manera, aunque si los otros si te funcionan no entiendo porque el update no:

String sql03 = "UPDATE empleado SET nombre = ?, apellido = ?,salario = ? WHERE CODIGO= ?";
     

     try {
            Pmodificar = conexion.prepareStatement(sql03);
                 Pmodificar.setString(1,mNombre);
                 Pmodificar.setString(2,mApellido);
                 Pmodificar.setInt(3,mSalario);
                 Pmodificar.setInt(4,mCodigo);
            Pmodificar.executeUpdate();
         }


Si me e equivocado corregidme por favor, un saludo.


ArhennJosey

Buen dia
Pues yo tampoco se porque no funciona, por eso me toco pedir ayuda, ya lo hice de la forma que vos me indicaste y tampoco actualiza.

Gracias.

Zoik

Asegúrate de que el código que introduces exista en la base de datos, si te tira algún tipo de error estaría bien que nos dijeses que te dice, asegúrate de que cargas el conector de mysql y sobretodo asegúrate de que la base de datos este operativa, se que pueden sonar a tonterías estas sugerencias pero ciertamente a todos nos ha pasado alguna vez.

ArhennJosey

Gracias, sin embargo com te digo, puedo insertar, consultar y eliminar, pero no entiendo porque no me actualiza, no se que tengo mal, ademas esta parte del codigo :  JOptionPane.showMessageDialog( null,"Empleado no encontrado","Mensaje Nomina",JOptionPane.ERROR_MESSAGE);

se supone que me debe verificar si hay error o mostrar lo que se ingresa, pero no me da ningun mensaje si la coloco asi:

    private void jButton4_actionPerformed(ActionEvent e)     {
       
     
      int mCodigo = Integer.parseInt (textCodigo.getText());
      String mNombre = textNombre.getText();
      JOptionPane.showMessageDialog( null,textNombre,"Mensaje Nomina",JOptionPane.ERROR_MESSAGE);
      String mApellido = textApellido.getText();
      int mSalario = Integer.parseInt(textSalario.getText());


creo que eso me deberia mostrarme el nombre que ingreso, pero tampoco me muestr nada...

Zoik

Cita de: ArhennJosey en 23 Mayo 2013, 19:01 PM
Gracias, sin embargo com te digo, puedo insertar, consultar y eliminar, pero no entiendo porque no me actualiza, no se que tengo mal, ademas esta parte del codigo :  JOptionPane.showMessageDialog( null,"Empleado no encontrado","Mensaje Nomina",JOptionPane.ERROR_MESSAGE);

se supone que me debe verificar si hay error o mostrar lo que se ingresa, pero no me da ningun mensaje si la coloco asi:

    private void jButton4_actionPerformed(ActionEvent e)     {
       
     
      int mCodigo = Integer.parseInt (textCodigo.getText());
      String mNombre = textNombre.getText();
      JOptionPane.showMessageDialog( null,textNombre,"Mensaje Nomina",JOptionPane.ERROR_MESSAGE);
      String mApellido = textApellido.getText();
      int mSalario = Integer.parseInt(textSalario.getText());


creo que eso me deberia mostrarme el nombre que ingreso, pero tampoco me muestr nada...

Puede que diga una tontería pero la variable de rojo no debería ser mNombre?

ArhennJosey

Pues yo he puesto las dos cosas y tampoco me muestra ningun mensaje... Gracias.