
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,
Y las consultas en la clase usuarios_servicio son las siguientes:
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
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


0