Si hemos creado muchos modelos de JTable estaremos al tanto del tiempo que se nos va en crear las columnas y recoger los registros de la base de datos. Afortunadamente existe la posibilidad de crear un método que nos cree el modelo de un JTable tan solo enviándole un ResultSet. El método esta a continuación :
public DefaultTableModel modeloConColumnasBaseDeDatos(ResultSet rs) throws SQLException{
//Creamos un modelo vacío
DefaultTableModel modelo = new DefaultTableModel();
//Recogemos los metadatos del ResultSet, esto lo usaremos para obtener el nombre de las columnas de la base de datos
ResultSetMetaData rsmd = rs.getMetaData();
//Obtenemos el número de columnas de la consulta
int columnas = rsmd.getColumnCount();
//Recorremos las columnas obteniendo los labels de la base de datos para usarlos en la cabecera de las columnas
for (int i = 0; i < columnas; i++) {
modelo.addColumn(rsmd.getColumnLabel(i+1));
}
//Creamos un array de string para las filas que insertemos
String[] fila = new String[columnas];
//Se repite mientras haya un registro en el ResultSet
while (rs.next() == true){
//Recorremos el registro y con un for rellenamos el array de string
for (int i = 0; i <= columnas; i++) {
fila[i-1] = rs.getString(i);
}
//Agregamos la fila
modelo.addRow(fila);
}
//Devolvemos el modelo
return modelo;
}
Etiquetas: connection, java, jtable, mysql, resultset
0 Comments:
Entrada más reciente Entrada antigua Inicio
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.