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

queries jsp

Estas en el tema de queries jsp en el foro de Java en Foros del Web. HOla, estoy trabajando en jsp con sql server, tengo un problema. tengo una query y muestro su contenido dentro de un while y lo muestra ...
  #1 (permalink)  
Antiguo 27/07/2005, 15:01
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
queries jsp

HOla,
estoy trabajando en jsp con sql server, tengo un problema.

tengo una query y muestro su contenido dentro de un while y lo muestra correctamente, pero si agrego otra query DENTRO del while y la ejecuto me marca error, me dice : "ResulSet is closed"

mi pregunta es como yo manejo dos queries?
debo defenir statement distintos?

Saludos...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 27/07/2005, 15:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 423
Antigüedad: 19 años
Puntos: 1
Sip tienes q tener dos Resultsets distintos al = que dos Stmt distintos
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
  #3 (permalink)  
Antiguo 27/07/2005, 15:05
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
pero mi duda es que si yo tengo una clase de conexion, tendre que repetirla para cuantas veces me pase este problema?
osea si la segunda se recorre con otro while y dentro de ella una tercera queri debo definir 3 tipos de statement?

existe forma de globarizar este tema?
es decir, una conexion y en base a su ella ejecutar varias queries si importar si existe una dentro...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #4 (permalink)  
Antiguo 27/07/2005, 23:56
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
para solucionar eso yo cree una clase para hacer la conexion y manejar las consultas a la base de datos y esta me debuleve resulset's (cuando hago select's), dentro de esta clase existe una sola conexion, pero cada consulta que hago se crea un nuevo statement para poder ejecutar la cosulta, y luego en donde necesito accesar a la DB (en alguna apliacion), nadamas instancio a esa clase, y ejecuto las query's obteniendo unicamente los resulset's, me olvido de los statements pues la clse se encarga de ello

mejor te pongo el codigo, para que me entiendas mejor

aqui la clase de acceso a la data base
Código PHP:
/*
 * Author: Crysfelin
 * Created: Monday, April 11, 2005 4:08:13 PM
 * Modified: Monday, April 11, 2005 4:08:13 PM
 */
package db;

import java.sql.*;

public class 
DataBase
{
    public 
Connection cn;
    public 
ResultSet rs;
    
    public 
void connect()throws Exception{
        try{
            
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
            
cn DriverManager.getConnection("jdbc:mysql://localhost/NombreDataBase","usuario","password");
        }catch(
Exception e){
            throw new 
Error("No se pudo hacer la conexion con la DB " e);
        }
    }
    
    public 
ResultSet query(String q)throws Exception{
        
rs=null;
        
Statement st cn.createStatement();
        
rs st.executeQuery(q);
        return 
rs;
    }
    
    public 
int update (String sql)throws SQLException{
        
Statement st cn.createStatement();
        
int rw st.executeUpdate(sql);
        
st.close();
        return 
rw;
    }
    public 
void close()throws Exception{
        try{
            
cn.close();
        }catch(
Exception e){
            throw new 
Error("<strong>Error: No se pudo cerrar la conexion</strong>"+e);
        }
    } 
ahora en la aplicacion que la necesito asi nadamas

Código PHP:
DataBase myDB = new DataBase();
myDB.connect();

ResultSet rs myDB.query("Select * from citas where IdDoctor="+idDoc+" AND Fecha='2005-10-23");
while(
rs.next()){
                
ResultSet rs2 myDB.query("SELECT * from paciente where doctor='"+idDoc+"'");
                
//bla bla bla bla bla todo lo que querrais
}

myDB.close(); 
de esa manera solo creo resulset's en la aplicacion y el objeto myDB se encarga del resto

have funn
  #5 (permalink)  
Antiguo 28/07/2005, 06:31
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
mmmm? INTERESANTE, la voy a revisar... Gracias men!!

yo lo habia hecho de esta forma, tengo un bean que tiene toda la conexion, pero no me gusto llamar dos veces el bean! no lo encontre optimo...
creo que tu forma supera la mia!!

Thanks!!!
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
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 09:21.