elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  El conjunto de resultados esta cerrado :S
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: El conjunto de resultados esta cerrado :S  (Leído 12,159 veces)
Xedrox

Desconectado Desconectado

Mensajes: 274



Ver Perfil
El conjunto de resultados esta cerrado :S
« en: 10 Julio 2011, 07:19 am »

Hola gente, les hago una consulta, estoy creando un vector de string con unos codigos de una tabla, pero el me sale un mensaje de error diciendo "EL CONJUNTO DE RESULTADOS ESTA CERRADO" que podra ser???

Código:
    public String[] cargarProveedores(Connection con)
    {
        String aux[]=null;
        int i=0;

        try
        {
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery("select cod_proveedor from proveedores");
            ResultSet cant=st.executeQuery("select count(*) from proveedores");

            cant.next();

            int cantidad_filas=cant.getInt(1);
            aux=new String[cantidad_filas];

            while(rs.next())  //EN ESTA LINEA DA EL ERRROR
            {
                aux[i]=rs.getString(1);  //OH EN ESTA LINEA
                i++;
            }

            st.close();

        }
        catch(SQLException e)
        {
            JOptionPane.showMessageDialog(null,e.getMessage());
            System.out.println("ERORR CON CARGA DE PROVEEDORES!!!!");
        }

        return aux;

    }

Muchas Gracias
Saludos!


En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: El conjunto de resultados esta cerrado :S
« Respuesta #1 en: 10 Julio 2011, 14:00 pm »

El problema está en que usas dos veces el mismo Statement para dos consultas diferentes. Tendrías que realizarlo de esta forma:

Código
  1. Statement st=con.createStatement();
  2.            ResultSet cant=st.executeQuery("select count(*) from proveedores");
  3.  
  4.            cant.next();
  5.  
  6.            int cantidad_filas=cant.getInt(1);
  7.            aux=new String[cantidad_filas];
  8.  
  9.            ResultSet rs=st.executeQuery("select cod_proveedor from proveedores");
  10.  
  11.            while(rs.next())  //EN ESTA LINEA DA EL ERRROR
  12.            {
  13.                aux[i]=rs.getString(1);  //OH EN ESTA LINEA
  14.                i++;
  15.            }
  16.  
  17.            st.close();

De esa forma, técnicamente debería funcionarte. Esto se debe a que cada vez que ejecutas una consulta el ResultSet anterior se pierde.

Saludos.


En línea

Xedrox

Desconectado Desconectado

Mensajes: 274



Ver Perfil
Re: El conjunto de resultados esta cerrado :S
« Respuesta #2 en: 10 Julio 2011, 17:21 pm »

Ok muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Todo PHP o en conjunto con HTML?
PHP
EvilGoblin 7 3,048 Último mensaje 26 Noviembre 2007, 17:27 pm
por EvilGoblin
ver un dvd que no está cerrado
Multimedia
tobu 3 8,549 Último mensaje 23 Septiembre 2008, 14:49 pm
por ...........
Validar conjunto de datos.
.NET (C#, VB.NET, ASP)
piwi 9 6,941 Último mensaje 29 Julio 2010, 16:03 pm
por [D4N93R]
[DUDA] Error '3704' La operacion no esta permitida si el objeta esta cerrado
Programación Visual Basic
omarzito22 0 7,829 Último mensaje 9 Octubre 2010, 18:03 pm
por omarzito22
Mozilla está desarrollando Minion, un conjunto de pruebas de seguridad para ...
Noticias
wolfbcn 0 1,230 Último mensaje 20 Enero 2013, 01:18 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines