Hola, estoy realizando una pequeña aplicacion como tema de base de datos para la UN, se trata de un formulario para registrar clientes nuevos y luego buscarlos para actualizar algunos datos que hayan faltado.
La conexion a MySQL se realiza con exito, al igual que el guardado de los datos y la busqueda. La busqueda la filtro por nombre. Para cada paso hay un metodo, es decir un metodo para la conexion que es llamado desde el constructor de la clase, un metodo para busqueda, un metodo para guardar y otro para la actualizacion y a cada metodo lo llamo con un boton: Busqueda, Actualizar y guardar.
Cuando quiero cambiar cualquier dato del formulario: nombre direccion o correo electronico, primero realizo la busqueda, luego digito en su campo de texto, al momento de dar click en actualizar, dispongo los resultado en una area de texto y y el programa me dice "datos actualizados" pero chequeo la base para ver si se actualizo y todo sigue igual. No se ve ningun error y la compilacion se hace correcta, enctonces no entiendo que este fallando ya que supestamente actualiza pero los resultados directo en la base de datos no se ven.
Publico parte del codigo, cualquier ayudo estare agradecido.
////conexion a labase de datos////////////////////
private void entrarbdt(){
try {
Class.forName("com.mysql.jdbc.Driver");
conectar = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/nuevosclientes","root", "7713gil");
Statement stm = conectar.createStatement();
guardar = conectar.prepareStatement("INSERT INTO clientes (id,empresa,contacto,telefono,direccion,mail,ciuda d,clasificacion) values(?,?,?,?,?,?,?,?)");
busque = conectar.prepareStatement("SELECT * FROM clientes ");
actua = conectar.prepareStatement("UPDATE clientes SET empresa= ?,"+"contacto= ?,"+"telefono= ?,"+"direccion= ?,"+"mail= ?,"+"ciudad= ?,"+"clasificacion= ?"+" WHERE id= ?");
}
catch (Exception e) {
e.printStackTrace();
}
}
////////////////////////////////////////actualizacion//////////////////////////////////////////////////////////////
private void actualizacion() {
Object[] acto = {campoNombre.getText(),contacto=campoContacto.getT ext(),campoTelefono.getText(),campoDireccion.getTe xt(),campoMail.getText(),campoCiudad.getText(),cam poClasifi.getText()};
try
{
nombre=campoNombre.getText();
contacto=campoContacto.getText();
dire=campoDireccion.getText();
telefo=campoTelefono.getText();
mail=campoMail.getText();
ciudad=campoCiudad.getText();
clasifi=campoClasifi.getText();
///////////////////////////////////////////////
for (int i = 0; i <= acto.length-1; i++) {
if (acto[i].toString().isEmpty()) {
JOptionPane.showMessageDialog(dialogo, "Faltan campos por llenar!!!", "Ventana Error Datos", JOptionPane.ERROR_MESSAGE);
return;
}
}
if(!validateMail(mail)){
JOptionPane.showMessageDialog(null, "Correo no valido!!!", "Ventana Error Datos", JOptionPane.ERROR_MESSAGE);
return;
}
actua.setString(8, clasifi);
actua.setString(2, nombre);
actua.setString(3, contacto);
actua.setString(4, telefo);
actua.setString(5, dire);
actua.setString(6, mail);
actua.setString(7, ciudad);
actua.setString(1,"0" );
actua.executeUpdate();
estado.setText("Resultado "+"Actualizacion de datos");
campoContacto.setText("");
campoNombre.setText("");
campoDireccion.setText("");
campoTelefono.setText("");
campoMail.setText("@");
campoCiudad.setText("");
campoClasifi.setText("");
resultado.setText("Nombre: " + nombre + "\n" +"Contacto: "+contacto+"\n"+"Telefono: "+telefo+"\n"+"Direción: "+dire+"\n"+"Correo Electronico: "+mail+"\n"+"Ciudad: "+ciudad+"\n"+"Clasificación: "+clasifi+"\n\n\n"+"Los datos se han \nActualizado! ");
}
catch (SQLException e) {
e.printStackTrace();
}
}