Respuesta: actualizacion invisible hola CarlosAP, gracias nuevamente por responder, pero al fin ya se pudo solucionar la actualizacion:
Del metodo que hacia la conexion:
////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();
}
}
quite la linea que actualiza es decir: actua = conectar.prepareStatement("UPDATE clientes SET empresa= ?,"+"contacto= ?,"+"telefono= ?,"+"direccion= ?,"+"mail= ?,"+"ciudad= ?,"+"clasificacion= ?"+" WHERE id= ?");
y le agregue la posicion del id es decir: actua = conectar.prepareStatement("UPDATE clientes SET empresa= ?,"+"contacto= ?,"+"telefono= ?,"+"direccion= ?,"+"mail= ?,"+"ciudad= ?,"+"clasificacion= ?"+" WHERE id= '"+resu.getInt("id")+"'");
porque esta posicion??
Resulta que al hacer la consulta o busqueda
despues del while while(resu.next())
el primer parametro de busqueda es el id junto con los otros es decir:
resu.getInt("id");
resu.getString("empresa");
resu.getString("contacto");
resu.getString("telefono");
resu.getString("direccion");
resu.getString("mail");
resu.getString("ciudad");
resu.getString("clasificacion");
esto lo hago con el fin de imprimir los resultados del dato buscado con el nombre dado por la busqueda.
adicional antes de ejecutar la actualizacion actua.executeUpdate();
se definen los datos de entrada ya modificados para actualizar:
actua.setString(1, nombre);
actua.setString(2, contacto);
actua.setString(3, telefo);
actua.setString(4, dire);
actua.setString(5, mail);
actua.setString(6, ciudad);
actua.setString(7, clasifi);
en el codigo anterior incluia el id desde 1, es decir: actua.setInt(1,"0" ); error
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(8, clasifi);
pero MySQL, informa que se actualizan 7 parametros y no 8 como le indico, ya que desde UPDATE ya se define id como parametro de ubicacion para actualizar, modifico el orden de la entrada de los datos, como lo indique antes, y de esta forma MySQL define la ubicacion y toma los datos de entrada modificados ubicandolos.
Saludos. |