Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2011, 09:55
mini2212
 
Fecha de Ingreso: febrero-2011
Mensajes: 45
Antigüedad: 13 años, 2 meses
Puntos: 0
consultas de dos tablas en la base de datos

Buenos días, estoy haciendo algunas consultas a la base de datos y se me hace un poco de lio.

Tengo 2 tablas
- jhony, que tiene usuario, id, pass, rol
- archivos, que tiene idArchivo, nombreArchivo ,tamanoArchivo, archivo, usuario

Quiero recorrer la tabla jhony y por cada usuario contar cuantos archivos tiene. Luego imprimir usuario y cantidad de archivos. Este es el código que hice pero solo imprime el encabezado

Código:
pag.println("<tr><td>Usuario</td><td>Cantidad de Archivos</td></tr>");
                            q1= "select * from jhony";
                            consulta1 = bd.ingreso.executeQuery(q1);
                            String usuarioBD = consulta1.getString("usuario");
                            int contador;

                            while(consulta1.next()){
                                contador=0;
                                q2 = "select * from archivo where usuario='"+usuarioBD+"'";
                                consulta2 = bd.ingreso.executeQuery(q2);
                                while(consulta2.next()){
                                    contador++;
                                }
                                pag.println("<tr><td>"+usuarioBD+"</td><td>"+contador+"</td></tr>");
                            }
mi clase conexión es:

Código:
public class Conexion
{
    Connection admin=null;
    Statement ingreso=null;
    ResultSet valida=null;
    String conexion="jdbc:mysql://localhost:3306/base";
    public void init(ServletConfig con)throws ServletException, InstantiationException, IllegalAccessException
    {
        if(admin==null || ingreso==null)
        {
            try
            {
               Class.forName("com.mysql.jdbc.Driver").newInstance();
               admin = DriverManager.getConnection (conexion,"root", "");
               //System.out.println(admin);
               ingreso = admin.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
               ResultSet.CONCUR_UPDATABLE);
            }
            catch(ClassNotFoundException edr)
            {
                System.out.println("Error Con La Carga Driver");
                System.out.println(edr.getMessage());
            }
            catch(SQLException edb)
            {
                System.out.println("Error Con La Conexion");
                System.out.println(edb.getMessage());
            }
        }
    }
    public void destroy()
    {
    try
        {
            admin.close();
            ingreso.close();
        }
        catch(SQLException e){}
    }
}