Java - Boton Modificar

 
Vista:
sin imagen de perfil
Val: 106
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Hector (63 intervenciones) el 05/01/2019 02:20:23
Hola amigos del foro, esta es mi primera consulta, por ende nuevo en java, estoy realizando un pequeño programa en netbeans, tengo problemas con el botón modificar, creo que esta bien, pero no marca ningún cambio favor de ayudarme este es el código que estoy utilizando.
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
private void cmdmodificarActionPerformed(java.awt.event.ActionEvent evt) {
    try {
        String Rut = txtrut.getText().trim();
 
        Connection cn2 = DriverManager.getConnection("jdbc:mysql://localhost/gestion", "root", "");
        PreparedStatement pst2 = cn2.prepareStatement("update proveedores Set Nombre_Proveedor = ?, Direccion_Proveedor = ?, Actividad_Proveedor = ?, Fax_Proveedor = ?, Comuna_Proveedor = ?, Ciudad_Proveedor = ?, Contacto_Proveedor = ?, Fono_Proveedor = ?, Mail_Proveedor = ? where Rut_Proveedor = " + Rut);
 
        pst2.setString(1, txtnombre.getText().trim());
        pst2.setString(2, txtdireccion.getText().trim());
        pst2.setString(3, txtactividad.getText().trim());
        pst2.setString(4, txtcelular.getText().trim());
        pst2.setString(5, txtcomuna.getText().trim());
        pst2.setString(6, txtciudad.getText().trim());
        pst2.setString(7, txtcontacto.getText().trim());
        pst2.setString(8, txtfono.getText().trim());
        pst2.setString(9, txtmail.getText().trim());
        pst2.executeUpdate();
        JOptionPane.showMessageDialog(null, "Datos Modificados Satisfactoriamente");
        txtnombre.setText("");
        txtrut.setText("");
        txtdireccion.setText("");
        txtactividad.setText("");
        txtcelular.setText("");
        txtcomuna.setText("");
        txtciudad.setText("");
        txtcontacto.setText("");
        txtfono.setText("");
        txtmail.setText("");
        bloqueo();
    } catch (Exception e) {
    }
}
no se en que estara fallando sino marca error, desde ya muchas gracias.
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 Billy Johnson
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Billy Johnson (875 intervenciones) el 06/01/2019 02:09:02
Bueno las conexiones no recomiendo que las manejes así, pero veo que te hace falta cargar el driver... Class.forName...

PD: Tengo la computadora lejos no tengo como enviarte una respuesta más adecuada
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
sin imagen de perfil
Val: 106
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Hector (63 intervenciones) el 07/01/2019 15:09:39
Hola Billy de acuerdo a tu respuesta a que te refieres que me falta el Driver ... Class.forName..., favor de ayudarme ya que he buscado por todos lados y todos operan prácticamente desde el mismo modo, y lo otro como recomiendas que menjeje las conexiones, desde ya muchas gracias.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Billy Joel (875 intervenciones) el 07/01/2019 16:25:33
Comencemos, en el método constructor de la clase añade lo siguiente:
1
2
3
4
5
try {
    Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
    ex.printStackTrace(System.out);
}

Con eso debes se debe corregir el problema que tienes.


Para el manejo de las conexiones a base de datos lo resolví en un proyecto http://bit.ly/2DNGxOH
El proyecto está hecho en Netbeans y está diseñado para la base de datos JavaDB/Derby
La clase MyConnection se encarga de gestionar las conexiones a la base de datos.
La clase MyQuery se encarga de las consultas: SELECT, UPDATE, DELETE, etc...

En caso de quieras utilizarlo en tu proyecto solo debes actualizar la línea 23 que se encarga de cargar el driver de JavaDB/Derby por el de MySql, entonces para hacer consultas utilizas:
1
MyQuery.getInstance().executeQuery("select * from tabla");

Para ejecutar sentencias (INSERT, UPDATE, DELETE) lo harías así:
1
MyQuery.getInstance().executeStatement("insert into tabla (col1, col2, col3) values (?,?,?)", new String [] {"1", "nombre", "apellido"});

Cualquier duda escribes,
Saludos,
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 106
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Hector (63 intervenciones) el 08/01/2019 15:41:01
Hola Billy te comento que trate de hacer como me dijiste pero me di cuenta que lo haces a través de clases, yo lo estoy haciendo mediante el Jframe form, ya que es un sistema pequeño pero de varias pantallas o formularios y me aconsejaron no hacerlo con clases, sabes que ocupo el de grabar, el de seleccionar, limpiar y salir, pero no me funciona el de modificar y eliminar, al final estuve averiguando por todos lados en la web y al final quede con este código que es el mismo, con decirte que se hace un click en el botón modificar ni siquiera entra o manda un mensaje de error, nada de nada ya no se que hacer, reviso en todos los ejemplos a través de la web y/o youtube y todos indican el código de conexión, favor de ayudarme no quiero utilizar clases, porque las tengo destinadas al listado de consultas y botones de imprimir, he aquí el código nuevamente.

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
private void cmdmodificarActionPerformed(java.awt.event.ActionEvent evt) {
    try {
        //String Rut = txtrut.getText().trim();
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/gestion", "root", "");
        PreparedStatement pst = con.prepareStatement("update proveedores Set"
                + "Nombre_Proveedor = ?"
                + ",Direccion_Proveedor = ?"
                + ",Actividad_Proveedor = ?"
                + ",Fax_Proveedor = ?"
                + ",Comuna_Proveedor = ?"
                + ",Ciudad_Proveedor = ?"
                + ",Contacto_Proveedor = ?"
                + ",Fono_Proveedor = ?"
                + ",Mail_Proveedor = ?"
                + "where Rut_Proveedor = ?");
 
        pst.setString(1, txtnombre.getText().trim());
        pst.setString(2, txtdireccion.getText().trim());
        pst.setString(3, txtrut.getText().trim());
        pst.setString(4, txtactividad.getText().trim());
        pst.setString(5, txtcelular.getText().trim());
        pst.setString(6, txtcomuna.getText().trim());
        pst.setString(7, txtciudad.getText().trim());
        pst.setString(8, txtcontacto.getText().trim());
        pst.setString(9, txtfono.getText().trim());
        pst.setString(10, txtmail.getText().trim());
        pst.executeUpdate();
        txtnombre.setText("");
        txtrut.setText("");
        txtdireccion.setText("");
        txtactividad.setText("");
        txtcelular.setText("");
        txtcomuna.setText("");
        txtciudad.setText("");
        txtcontacto.setText("");
        txtfono.setText("");
        txtmail.setText("");
        bloqueo();
    } catch (SQLException e) {
    }
}

desde ya muchas gracias y disculpas las molestias
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Boton Modificar

Publicado por Billy Joel (875 intervenciones) el 08/01/2019 15:59:20
Podrías enviarme el proyecto al correo, te comento y te explico como debes implementarlo.
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