Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2011, 04:31
elmenda
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 5 meses
Puntos: 0
Problema al actualizar una tabla desde otro jframe

Hola buenos dias.

Tengo un Jtable el cual si que me actualiza correctamente cuando hago cualquier alta o baja desde el mismo jframe.

Pero realizo busquedas desde otro jFrame y he probado de todo para que se actualice el jtabla sin exito. Lo que hago desde el jFrame de busquedas es enviarle a la funcion que tengo implementada donde esta el jTable, la sentencia SQL para que haga la consulta a la BD y me liste los resultados. Pero no hace nada de nada, si que le llega bien la consulta, si que haria bien el repintar el table, pero no lo hace y no se que me falta...

Dejo el codigo que tengo.

public void recargarTabla(String sql){
try {
String sDriver = "oracle.jdbc.OracleDriver";
String sURL = "jdbc:oracle:thin:@localhost:1521:orcl";

Connection con = null;
Class.forName(sDriver).newInstance();

con = DriverManager.getConnection(sURL,"FILMOTECA","admi n");
if(sql == null)
sql = "SELECT * FROM PELICULAS";
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
DefaultTableModel modelo = new DefaultTableModel(new Object [][] {},
new String [] {
"ID", "Titulo", "Año", "Formato", "Tarrina", "DVD", "Imagen"
}
);

while(rs.next()){
int i = 0;
Object [] fila = new Object[7];
for(int j = 1; j <= jTable1.getColumnCount(); j++){
fila[i] = rs.getString(j);
i++;
}

modelo.addRow(fila);
jTable1.setModel(modelo);

//Uso del Render
//jTable1.setDefaultRenderer(Object.class,new RenderTabla());
}
} catch (SQLException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
}
}