Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con consultas

Estas en el tema de Problema con consultas en el foro de Java en Foros del Web. Buenas, 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(); ...
  #1 (permalink)  
Antiguo 09/09/2008, 11:10
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema con consultas

Buenas,

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

Última edición por Laberinto_Laberinto; 09/09/2008 a las 11:18
  #2 (permalink)  
Antiguo 10/09/2008, 01:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Problema con consultas

Sin saber cual es el mensaje de error, es dificil poder decir algo fiable.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 10/09/2008, 07:15
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problema con consultas

Nada yo lo he arreglado, en vez de 2 consultas he hecho una sola. Aún así mi duda es ¿no se puede hacer un SELECT con los resultados de otro SELECT?
  #4 (permalink)  
Antiguo 10/09/2008, 07:36
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Problema con consultas

ps mira ami tambien me marcaba el mismo error, y ps lo que hice fue crear dos Statement stmt1,stmt2, porque yo ocupo al igual que tu dos ResultSet entonces va cada Statement con cada ResultSet

Código HTML:
//declaracion:
   Statement stmt1 = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
   Statement stmt2 = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
pero a diferecia de tu codigo que esta declarado conforme el while o if si entra se declara si no entra ps no, pudiera pensar que si entra dos veces como ya esta declarado, un problema pudiera ser multiple declaracion, creo, ahora yo los tengo declarado desde el inicio antes qeu entre a cualquier estructura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:46.