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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  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,446 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,299 Último mensaje 26 Noviembre 2007, 17:27 pm
por EvilGoblin
ver un dvd que no está cerrado
Multimedia
tobu 3 8,771 Último mensaje 23 Septiembre 2008, 14:49 pm
por ...........
Validar conjunto de datos.
.NET (C#, VB.NET, ASP)
piwi 9 7,220 Ú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 8,076 Ú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,455 Último mensaje 20 Enero 2013, 01:18 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines