Tengo un problema con el siguiente trozo de código y agradecería que alguien pudiera ayudarme.
Código:
Statement stmt=ConectarBD.getstmt(); String login=tfUsuario.getText(); DefaultListModel modelo= new DefaultListModel(); boolean enc=false; try { ResultSet rs=stmt.executeQuery("SELECT * FROM TB_LLamadas WHERE UsuLogin='"+login+"'"); while(rs.next()){ String f=rs.getString("LLaInicio"); if(f.contains(fecha)) { String dni=rs.getString("ConDni"); String asunto=rs.getString("LLaDesc"); Statement stmt1=ConectarBD.getstmt(); ResultSet rs1=stmt1.executeQuery("SELECT * FROM TB_Contactos WHERE ConDni='"+dni+"'"); String nom=rs1.getString("ConNombre"); String ape=rs1.getString("ConApellidos"); String nombre=nom+" "+ape; String fec="Fecha: "+f; String desc="Asunto: "+asunto; String cont="Contacto: "+nombre; //añadimos los datos al Jlist modelo.addElement(fec); modelo.addElement(desc); modelo.addElement(cont); modelo.addElement(" "); enc=true; } } if(enc==false) modelo.addElement("No hay llamadas"); lista1.setModel(modelo); } catch (SQLException ex) { ex.printStackTrace(); }
Mi problema concretamente es que tras realizar la 2ª consulta (dentro del While) entra directamente en el catch. ¿No se puede hacer de esta forma? ¿No puedo declarar varias variables de tipo Statement y ResultSet? ¿Dónde debería cerrar dichas variables?
Gracias