actualizar jtable en tiempo de ejecucion
Casualmente hago algo parecido en estos momentos no olvides puntuar la respuesta
BOTON QUE INVOCA LA FUNCION QUE INSERTA/b]
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String SQL =null; boolean resultado = false;
MisClases.DB_Metodos Metodo = new MisClases.DB_Metodos();
try {
SQL ="INSERT INTO INICIOJ.CONTACTOS (CEDULA ,NOMBRE ,TELEFONO ,MAIL ,SUELDO ) VALUES (?,?,?,?,?)";
resultado = Metodo.InsertarActualizarDatosDB(SQL, jTextField1.getText(), jTextField2.getText(), jTextField3.getText(), jTextField4.getText(), jTextField5.getText(),null);
if (resultado) {
JOptionPane.showMessageDialog(null,"TRANSACCION EXITOSA");
MontarDatosJtable() }
else {
JOptionPane.showMessageDialog(null,"TRANSACCION FALLIDA"); }
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(InfoContactoWrite.class.getName()).log(Level.SEVERE, null, ex);
}
}
[b] FUNCION QUE INSERTA EN TABLA
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 ;
}
public void MontarDatosJtable() {
String SQL ="select * from inicioj.contactos order by id asc";
DefaultTableModel tablaRAM = new DefaultTableModel ();
MisClases.DB_Metodos ValorD = new MisClases.DB_Metodos();
try {
tablaRAM = ValorD.DevuelveTablaRam (SQL, null, null, null, null,tablaRAM);
jTable1.setModel(tablaRAM);
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(InfoSeleccion.class.getName()).log(Level.SEVERE, null, ex);
}
}
public DefaultTableModel DevuelveTablaRam (String SQL ,Object par1,Object par2,Object par3,Object par4,DefaultTableModel tablaRAM) throws ClassNotFoundException, SQLException
{
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));
ResultSet RS = comando.executeQuery();
ResultSetMetaData contenedorDatos = RS.getMetaData();
int nColumnas = contenedorDatos.getColumnCount() ;
for (int i = 1 ; i <= nColumnas ; i++){tablaRAM.addColumn(contenedorDatos.getColumnLabel(i));}
while (RS.next())
{
Object row [] = new Object [nColumnas];
for (int j =0 ; j < nColumnas ; j++){row[j]= RS.getObject(j+1);}
tablaRAM.addRow(row);
}
RS.close();
conexion.close();
return tablaRAM ;
}