Despues de hacer una consulta a base de datos quiero recorrer el resultset pero no se por que no empieza en la primera posición.
Código:
La consulta en cuestion lanzada directamente con el TOAD me devuelve 2 resultados, pero como no puedo posicionarme a mano en la primera posición solo me inserta en la variable resultBusqueda un registro.public AyudasDTO[] metodoDeBusqueda(ArrayList ayudas) throws SQLException { StringBuffer select = new StringBuffer(); Vector parametros = new Vector(); AyudasDTO[] resulBusqueda = null; String cadena = ""; for (int j = 0; j < ayudas.size(); j++) { if (j == 0) cadena = "'" + ayudas.get(j) + "'"; else cadena += "," + "'" + ayudas.get(j) + "'"; } select.append("SELECT " + "AYPR_DENOMINACION, " + "AYPR_NIF_CENTRO, " + "AYPR_REFERENCIA " + "FROM TD_AYUDAS_CENAGRU_WORK " + "WHERE 1 = 1 "); select.append(" AND AYPR_NIF_CENTRO IN ("); select.append(cadena); select.append(")"); select.append(" AND AYPR_NUM_AGRU IN ("); select.append(" SELECT PRMA_REF_CENT FROM TD_PREMIADOS_CENAGRU"); select.append(")"); String query = select.toString(); PreparedStatement statement = null; ResultSet resultset = null; Object[] values = new Object[parametros.size()]; int i = 0; for (Iterator it = parametros.iterator(); it.hasNext();) { values[i++] = it.next(); } try { statement = con.prepareStatement(query); if (values != null) { for (int j = 0, k = 1; j < values.length; j++, k++) { statement.setString(k, values[j].toString()); } } resultset = statement.executeQuery(); //Aquí me dice que no es la primera posicion System.out.println("isFirst:" + resultset.isFirst()); resulBusqueda = new AyudasDTO[ayudas.size()]; int m = 0; while (resultset.next()) { AyudasDTO ayuda = new AyudasDTO(); ayuda.setDenominacionCentro(resultset .getString("AYPR_DENOMINACION")); ayuda.setNifCentro(resultset.getString("AYPR_NIF_CENTRO")); ayuda.setReferencia(resultset.getInt("AYPR_REFERENCIA")); resulBusqueda[m] = ayuda; System.out.println(m); m++; } } catch (SQLException e) { log.info(e.getMessage()); throw new SQLException("error al buscar solicitudes de ayuda " + e.getMessage()); } finally { closeResultSet(resultset); closePreparedStatement(statement); } return resulBusqueda; }
Alguien me puede dar alguna idea?
Muchas gracias de antemano