Hasta ahora he podido tomar el título de las columnas, pero no encuentro cómo hacer el array de Objects[][] para llenar la tabla con los datos.
¿Hay algún método que me diga cuántas filas me ha devuelto un executeQuery?
La única forma que se me ocurre de hacerlo es con:
while (resultado.next()) linea++;
pero me parece una solución algo chapucera.
Código:
Es mi primera vez usando Object, así que se aceptan todo tipo de sugerencias.public Probando() { Object datos[][]=null; String nombreColumnas[]; initComponents(); try{ Class.forName(ControladorJDBC); conexion = DriverManager.getConnection(baseDatos); instruccion = conexion.createStatement(); ResultSet resultados = instruccion.executeQuery("select * from Articulos"); ResultSetMetaData columnas = resultados.getMetaData(); int numColumnas = columnas.getColumnCount(); nombreColumnas = new String[numColumnas]; for(int i=1; i<=numColumnas; i++) nombreColumnas[i-1] = new String(columnas.getColumnName(i)); // Aquí debería llenar datos, que es un array que se le pasa al TableModel jTable1.setModel(new javax.swing.table.DefaultTableModel(datos, nombreColumnas) { Class[] types = new Class [] { java.lang.String.class, java.lang.Integer.class }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } }); } catch(SQLException excepcionSql){ System.out.println(excepcionSql); } catch(ClassNotFoundException claseNoEncontrada){ System.out.println(claseNoEncontrada); } }
De antemano gracias por su ayuda.
¡Saludos!