
Actualizar Datos en tabla MySql desde JTable
Publicado por Efrain (28 intervenciones) el 26/07/2015 21:55:57
Hola
Cargo un JTABLE con datos de una tabla en MYSQL perfecto.....
ahora modifico los datos en el mismo JTable (elijo una celda cualquiera y modifico su contenido) , luego ejecuto mi codigo y me modifica en la tabla todo menos LOS DATOS DE LA ULTIMA FILA O CELDA QUE MODIFICO , QUE CASUALMENTE ES LA QUE QUEDA SELECCIONADA intente usando el metodo ClearSelection () del JTable pero nada...tambien cambie el recorrido del Jtable por el de la tabla modelo que uso pero con el mismo resultado???
aqui mi codigo
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTable1.clearSelection();
int n = jTable1.getRowCount();
String SQL = "UPDATE INICIOJ.CONTACTOS SET CEDULA = ? ,NOMBRE = ? ,TELEFONO = ? ,MAIL = ? ,SUELDO = ? WHERE ID = ?";
boolean resultado [] = new boolean [n];
MisClases.DB_Metodos Metodo = new MisClases.DB_Metodos ();
for (int j =0 ; j <= n - 1 ; j++)
{
try {
resultado[j] = Metodo.InsertarActualizarDatosDB(SQL, jTable1.getValueAt(j,1),jTable1.getValueAt(j,2), jTable1.getValueAt(j,3), jTable1.getValueAt(j,4),jTable1.getValueAt(j,5),jTable1.getValueAt(j,0));
} catch (ClassNotFoundException | SQLException ex) { Logger.getLogger(InfoSeleccion.class.getName()).log(Level.SEVERE, null, ex);}
}
}
public boolean InsertarActualizarDatosDB (String SQL,Object par1,Object par2,Object par3,Object par4,Object par5,Object par6) throws ClassNotFoundException, SQLException
{
boolean resultado = false ;
Class.forName(this.driverDB);
conexion = DriverManager.getConnection(urlHost + nombreDB ,usuarioDB ,passworDB);
PreparedStatement comando = conexion.prepareStatement(SQL);
if (par1 != null )comando.setString(1,String.valueOf(par1));
if (par2 != null )comando.setString(2,String.valueOf(par2));
if (par3 != null )comando.setString(3,String.valueOf(par3));
if (par4 != null )comando.setString(4,String.valueOf(par4));
if (par5 != null )comando.setString(5,String.valueOf(par5));
if (par6 != null )comando.setString(6,String.valueOf(par6));
try {comando .executeUpdate();
resultado = true ;
conexion.close(); }
catch ( SQLException ex ) {System.out.println(ex);}
return resultado ;
}
Cargo un JTABLE con datos de una tabla en MYSQL perfecto.....
ahora modifico los datos en el mismo JTable (elijo una celda cualquiera y modifico su contenido) , luego ejecuto mi codigo y me modifica en la tabla todo menos LOS DATOS DE LA ULTIMA FILA O CELDA QUE MODIFICO , QUE CASUALMENTE ES LA QUE QUEDA SELECCIONADA intente usando el metodo ClearSelection () del JTable pero nada...tambien cambie el recorrido del Jtable por el de la tabla modelo que uso pero con el mismo resultado???
aqui mi codigo
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTable1.clearSelection();
int n = jTable1.getRowCount();
String SQL = "UPDATE INICIOJ.CONTACTOS SET CEDULA = ? ,NOMBRE = ? ,TELEFONO = ? ,MAIL = ? ,SUELDO = ? WHERE ID = ?";
boolean resultado [] = new boolean [n];
MisClases.DB_Metodos Metodo = new MisClases.DB_Metodos ();
for (int j =0 ; j <= n - 1 ; j++)
{
try {
resultado[j] = Metodo.InsertarActualizarDatosDB(SQL, jTable1.getValueAt(j,1),jTable1.getValueAt(j,2), jTable1.getValueAt(j,3), jTable1.getValueAt(j,4),jTable1.getValueAt(j,5),jTable1.getValueAt(j,0));
} catch (ClassNotFoundException | SQLException ex) { Logger.getLogger(InfoSeleccion.class.getName()).log(Level.SEVERE, null, ex);}
}
}
public boolean InsertarActualizarDatosDB (String SQL,Object par1,Object par2,Object par3,Object par4,Object par5,Object par6) throws ClassNotFoundException, SQLException
{
boolean resultado = false ;
Class.forName(this.driverDB);
conexion = DriverManager.getConnection(urlHost + nombreDB ,usuarioDB ,passworDB);
PreparedStatement comando = conexion.prepareStatement(SQL);
if (par1 != null )comando.setString(1,String.valueOf(par1));
if (par2 != null )comando.setString(2,String.valueOf(par2));
if (par3 != null )comando.setString(3,String.valueOf(par3));
if (par4 != null )comando.setString(4,String.valueOf(par4));
if (par5 != null )comando.setString(5,String.valueOf(par5));
if (par6 != null )comando.setString(6,String.valueOf(par6));
try {comando .executeUpdate();
resultado = true ;
conexion.close(); }
catch ( SQLException ex ) {System.out.println(ex);}
return resultado ;
}
Valora esta pregunta


-1