La cuestion es rellenar un jTable que tiene 5 columnas desde una base de datos, facil no!!
el problema es que tengo que cojer los datos de 3 tablas distintas y poner sus datos en distintas columnas,
Comento el codigo y os lo explico un poco
mi codigo es este:
Código:
try {
ps = cn.prepareStatement(producttab); //Conexion
rs= ps.executeQuery(producttab); //Resultset
int numFilas = 0;
int numColumnas = rs.getMetaData().getColumnCount();
while(rs.next()) {
numFilas++;
}
filas = new Object [numFilas] [numColumnas];
rs.beforeFirst();
int contadorTmp = 0;
while (rs.next()) {
//aqui rellenamos el objeto fila el cual rellenara la tabla, el contador Tmp pasara por todas las filas y el siguientenumero seran las columnas de nuestro jtable el rs.String() se enecarga de sacar el dato de la columna que le indiquemos, este caso el 19 y asignarlo a la posicion de fila[][]
filas[contadorTmp][0] = rs.getString(19);
filas[contadorTmp][2] = rs.getString(14);
filas[contadorTmp][4] = rs.getString(4);
System.out.println("ref,nom,prec"+filas);
contadorTmp++;
}
ps.close();
rs.close();
//ahora rellenaremos la columna 1 del jTable, estos datos estan en otra tabla de nuestra base de datos, por lo que el rs o resultset hay que cambiarle la direccion sql de la tabla donde estara.
ps = cn.prepareStatement(lang);
rs = ps.executeQuery(lang);
contadorTmp = 0;
while(rs.next()) {
filas[contadorTmp][1] = rs.getString(10); //aqui esta el error
contadorTmp++;
System.out.println("nombre articulo"+filas);
}
El error que me sale es: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 38
Gracias de antemano.
PD:Si hubiera que modificar todo el codigo no me importaria.