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

Error al generar sesiones - java.sql.SQLException: After end of result set

Estas en el tema de Error al generar sesiones - java.sql.SQLException: After end of result set en el foro de Java en Foros del Web. Hola Soy nuevo en el foro y me gustaría ver si alguien puede echarme una mano con un problema que me ha surgido. Básicamente se ...
  #1 (permalink)  
Antiguo 19/03/2013, 13:16
 
Fecha de Ingreso: marzo-2013
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Error al generar sesiones - java.sql.SQLException: After end of result set

Hola
Soy nuevo en el foro y me gustaría ver si alguien puede echarme una mano con un problema que me ha surgido. Básicamente se trata de esto:

1-En un jsp recojo un nombre
2- Recupero el dato en un Servlet e instancio una clase creada llamada conexiones
3- Con la clase conexiones instanciada, actualizo una BBDD mediante uno de sus métodos, luego hago una consulta mediante otro método de esa clase a la misma BBDD para ver si efectivamente se ha actualizado
4- Acabo instanciando la clase Sesiones y con los datos del result de la consulta, genero atributos de sesión para que puedan usarse y vuelvo al JSP

En definitiva actualizar los datos de sesión con datos introducidos por el usuario a través de una BBDD

Tengo hechas salidas por consola de todas las partes que voy ejecutando y el error parece estar a la hora de crear las sesiones, pero es que no encuentro el fallo.

Os dejo el código del Servlet, el de las sesiones y las salidas por consola por si alguien sabe que puede pasar

SERVLET:

Código:
public class PruebasBBDD extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	String nombre;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		nombre= request.getParameter("nombre");
		
		
		
		String stqueryupdate="update clientes set nombre='"+nombre+"' where ciudad like 'madrid'";
                 String st = "SELECT * FROM  clientes WHERE  nombre LIKE '"+ nombre+"'"; 
		Conexiones acceso= new Conexiones();
	
		Connection conex= acceso.conexiones();
		acceso.actualizaBBDD(stqueryupdate, conex);
		System.out.println("HEcha la actualizacion");
		 
		ResultSet resultado1= acceso.consultaBBDD(st, conex);
		
				try {
					while (resultado1.next()){
						
						 System.out.println("HEcha la consulta con estos results; ");	
					System.out.println(""+resultado1.getString(1)+" "+resultado1.getString(2)+" "+resultado1.getString(3));}
				
		
				
				JOptionPane.showMessageDialog(null, "Actualización realizada con éxito");
				
				new hilos.Sesiones().cerrarsesion(request, response);
				System.out.println("limpiamos la sesión anterior y vemos si efectivamente se han borrado los elementos: ");
				System.out.println("---"+request.getSession().getAttribute("codcliente")+ "----"+request.getSession().getAttribute("nombre")+ "---"+ request.getSession().getAttribute("ciudad"));
				System.out.println("Intentamos crear nueva sesión");
				new hilos.Sesiones().atributosusuario(resultado1, request, response);
				System.out.println("---"+request.getSession().getAttribute("codcliente")+ "----"+request.getSession().getAttribute("nombre")+ "---"+ request.getSession().getAttribute("ciudad"));
				
				
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
												System.out.println("sesiones creadas");
	response.sendRedirect("index.jsp");		
	
	}
El código de SESIONES:

public class Sesiones {

Connection conexion;
ResultSet resultado;
ResultSet resultado2;

public void atributosusuario(ResultSet resultadocontrol, HttpServletRequest request, HttpServletResponse response){

HttpSession sesion= request.getSession();
this.resultado=resultadocontrol;

try {
sesion.setAttribute("codcliente", resultado.getString("codcliente"));
sesion.setAttribute("nombre", resultado.getString("nombre"));
sesion.setAttribute("ciudad", resultado.getString("ciudad"));


} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}



public void cerrarsesion(HttpServletRequest request, HttpServletResponse response){

request.getSession().invalidate();
}

}

Y por último, lo que sale por consola:


HEcha la actualizacion
HEcha la consulta con estos results;
AA01 Juan madrid
HEcha la consulta con estos results;
AA04 Juan madrid
HEcha la consulta con estos results;
AA55 Juan madrid
HEcha la consulta con estos results;
AC34 Juan madrid
limpiamos la sesión anterior y vemos si efectivamente se han borrado los elementos:
---null----null---null
Intentamos crear nueva sesión

java.sql.SQLException: After end of result set
Luego una pila de exceptions

---null----null---null
sesiones creadas



Lo que parece es que no puede crear las sesiones, pero no se por qué, no veo nada extraño en el código

Pues nada, si alguien se toma la molestia de leer este chorro entero y me da alguna solución le estaré eternamente agradacido

Un saludo

Etiquetas: clase, end, jsp, result, servlet, sesiones, set, string
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:08.