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){}
}
}