Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2009, 11:51
Avatar de juamd
juamd
 
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 10 meses
Puntos: 8
Alguna forma de optimizar esta consulta

Que tal amigos, tengo el siguiente codigo para recuperar registros de una base de datos
Código:
public ArrayList<String> traerDatos(Sql consulta)
    {
        Statement st;
        ResultSet rs;
        int tamano, i;
        ArrayList<String> resultado = new ArrayList<String>();

        try {
            st = this.conexion.createStatement();
            System.out.println(consulta.generar());
            rs = st.executeQuery(consulta.generar());
            //getMetaData se usa para determinar cuantas columnas tiene el ResultSet, las columnas son el numero de campos
            ResultSetMetaData rsmd = rs.getMetaData();
            tamano = rsmd.getColumnCount();
            while(rs.next()){
                for (i=1; i<=tamano; i++){
                    //Cada campo del ResultSet se guarda en un ArrayList (resultado), el cual será retornado.
                    resultado.add(rs.getString(i));
                }
                //Al final de cada registro se ingresa el "-" para separlo de los demas registros.
                resultado.add("-");
            }
        }catch (SQLException ex) {
            ex.printStackTrace();
        }
        return resultado;
    }
Lo hice de esta manera porque no se como manipular las consultas en java para que cada registro sea una fila. Este codigo va agregando el resultado de una consulta a un ArrayList y separa cada registro por un guion. La cuestion es que ahora necesito mejorar este codigo porque me va a complicar mucho la vida y me gustaria que por favor me ayudaran, como veran soy nuevo en java, no en POO pero si en java.
Lo que busco es la manera de recorrer una consulta donde esten definidos los registros y poder posicionarme en cualquier lugar

Saludos y gracias.