Tengo un problema en lenguaje JAVA.
En múltiples tablas, que están relacionadas entre si, y resulta que no me da resultado alguno.
public List<Libro> verPrestamo(){
Connection conn = null;
Statement stmt = null;
List<Libro> col = new ArrayList();
try {
Class.forName(JDBC_DRIVER);
System.out.println("conexión establecida");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
System.out.println("creando no se lo que");
stmt = conn.createStatement();
String sql;
sql = "SELECT libro.idlibro, libro.titulo, libro.autor, libro.editorial, socios.cedula, socios.nombre "
+ "FROM libro, socios, prestamolibro "
+ "WHERE socios.cedula = prestamolibro.cedula"
+ "AND libro.idlibro = prestamolibro.idlibro";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
Socio s;
Libro LI;
LI = new Libro();
s = new Socio();
LI.setCodigo(rs.getInt("idlibro"));
LI.setTitulo(rs.getString("titulo"));
LI.setAutor(rs.getString("autor"));
LI.setEditorial(rs.getString("editorial"));
s.setCedula(rs.getInt("cedula"));
s.setNombre(rs.getString("nombre"));
col.add(LI);
}
}
catch (SQLException se){
se.printStackTrace();
}
catch (Exception e){
e.printStackTrace();
}
return col;
Y no me anda, pero si en la consulta SQL coloco select * from libros; me anda nomas bien.
No entiendo porque no me puede dar un resultado de una consulta SQL compleja.