Java - problema con el UPDATE

 
Vista:
Imágen de perfil de rosario

problema con el UPDATE

Publicado por rosario (4 intervenciones) el 31/10/2017 23:19:16
Buen dia!!! tengo un problemilla al actualizar registros... Estoy trabajando con una base de datos en MySQL, y quiero insertar, eliminar, buscar y MODIFICAR usuarios, estoy trabjando con varias clases, en una almaceno la conexion, y en otra las consultas, la aplicacion ya me inserta registros, pero no me actualiza, este es el codigo para el boton guardar,

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
//DECLARO VARIABLES
String Nombre_user = Jtext_Nombre.getText();
String Ap_user = Jtext_Ap1.getText();
String Am_user = Jtext_Ap2.getText();
Integer Tipo_user = Integer.parseInt(Combo_Tipo.getSelectedItem().toString());
String Clave_user = new String (jPassword.getPassword());
String Fereg_user = Date_Fechareg.getDateFormatString();
 
this.usuarios.setNombre_user(Nombre_user);
this.usuarios.setAp_user(Ap_user);
this.usuarios.setAm_user(Am_user);
this.usuarios.setTipo_user(Tipo_user);
this.usuarios.setClave_user(Clave_user);
this.usuarios.setFereg_user(Fereg_user);
 
if (String.valueOf(Jtext_Id.getText()).equals("")){       // SI EL ID NO EXISTE ENTONCES (GUARDA)
    try{
 
        this.usuarios_servicio.guardar_user(Conexion.obtener(), this.usuarios); // MANDO LLAMAR LA CONSULTA QUE ESTA EN LA CLASE USUARIOS_SERVICIO"
 
        JOptionPane.showMessageDialog(this, "Usuario guardado");
 
    }catch(SQLException ex){
        System.out.println(ex.getMessage());
        JOptionPane.showMessageDialog(this, "Ha surgido un error con la conexion y no se ha guardardo el registro.");
    }catch(ClassNotFoundException ex){
        System.out.println(ex);
        JOptionPane.showMessageDialog(this, "Ha surgido un error y no se ha podido guardar el registro.");
    }
 
}else { // SI EL ID EXISTE ENTONCES MODIFICA (UPDATE)
    try{
 
        this.usuarios_servicio.modificar_user(Conexion.obtener(), this.usuarios);
        JOptionPane.showMessageDialog(this, "Usuario modificado");
 
        Agregar_usuario add_user =new Agregar_usuario();
        add_user.setVisible(true);                            //Actualiza 
        this.setVisible(false);
 
    }catch(SQLException ex){
        System.out.println(ex.getMessage());
        JOptionPane.showMessageDialog(this, "Ha surgido un error con la conexion y no se ha guardardo el registro.");
    }catch(ClassNotFoundException ex){
        System.out.println(ex);
        JOptionPane.showMessageDialog(this, "Ha surgido un error y no se ha podido guardar el registro.");
    }
}
 
 
}


Y las consultas en la clase usuarios_servicio son las siguientes:

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
public void guardar_user(Connection conexion, Usuarios usuarios) throws SQLException{
    try{
        PreparedStatement consulta;
 
        consulta = conexion.prepareStatement("INSERT INTO " + this.tabla + "(Nombre_user, Ap_user, Am_user, Tipo_user, Clave_user, Fereg_user) VALUES(?, ?, ?, ?, ?, ?)");
        consulta.setString(1, usuarios.getNombre_user());
        consulta.setString(2, usuarios.getAp_user());
        consulta.setString(3, usuarios.getAm_user());
        consulta.setInt(4, usuarios.getTipo_user());
        consulta.setString(5, usuarios.getClave_user());
        consulta.setString(6, usuarios.getFereg_user());
 
        consulta.executeUpdate();
    }catch(SQLException ex){
        throw new SQLException(ex);
    }
}
 
public void modificar_user(Connection conexion, Usuarios usuarios) throws SQLException{
    try{
        PreparedStatement consulta;
 
        consulta = conexion.prepareStatement("UPDATE " + this.tabla + " SET Nombre_user = ?,+ Ap_user = ?, Am_user = ?, Tipo_user = ?, Fereg_user = ?, Clave_user = ? WHERE Id_user = ?");
        consulta.setString(1, usuarios.getNombre_user());
        consulta.setString(2, usuarios.getAp_user());
        consulta.setString(3, usuarios.getAm_user());
        consulta.setInt(4, usuarios.getTipo_user());
        consulta.setString(5, usuarios.getFereg_user());
        consulta.setString(6, usuarios.getClave_user());
        consulta.setInt(7, usuarios.getId_user());
 
        consulta.executeUpdate();
    }catch(SQLException ex){
        throw new SQLException(ex);
    }
}

para guardar si me da la consulta, pero para modificar no, ya cheque mi consulta mil veces pero no se cual es mi error, asi que me gustaria que me apoyasen , este es el error que me sale al momento de correr el programa

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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at servicios.Usuarios_servicio.modificar_user(Usuarios_servicio.java:53)
	at reportes.Agregar_usuario.Boton_GuardarActionPerformed(Agregar_usuario.java:446)
	at reportes.Agregar_usuario.access$300(Agregar_usuario.java:24)
	at reportes.Agregar_usuario$4.actionPerformed(Agregar_usuario.java:141)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
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