Los select con where...

Hola, quisiera platearte una duda, en relación al acceso desde jsp a una tabla de la base de datos en mysql. Tengo las tablas perfectamente creadas (comprobado mediante selects en mysql...).Al hacer un select desde el archivo jsp, por ejemplo "select * from usuarios" todo va correctamente, y mediante un ResultSet puedo acceder a los campos del resultado de mi consulta, el fallo/problema viene
Cuando intentamos acceder a la tabla mediante un select con un where incorporado, del estilo: "select * from usuarios where nombre='pepe'", el acceso lo hace bien, puesto que no da fallo (o eso al menos creemos, que lo hace bien), pero al intentar acceder a los campos que forman el resultado de la consulta, igual que antes, con un ResultSet. Así: rs.getString("pass"); nos da error.
Entonces la pregunta se nos plantea así: No da el mismo resultado hacer una consulta genérica (sin where) que al hacerla con where, ¿y por lo tanto no podemos acceder al resultado de la misma forma?.
La verdad es que nuestro problema lo podemos solventar de otra forma, pero es que estamos ya encabezonados con esto...
No se que es lo que puede ser, me parece muy raro, si me puedes dar algunas indicaciones te lo agradecería.
A lo mejor podemos recoger la consulta de otra forma...
El error tiene este encabezado:
exception
org.apache.jasper.JasperException: Before start of result set ...
Gracias, 1 saludo

1 Respuesta

Respuesta
1
Hacer :
...
Statement stmt=conn.createStatement ();
ResultSet rs=stmt.executeQuery (query);
String pass=rs.getString("pass");
...
es incorrecto. Para acceder a los datos utiliza:
...
Statement stmt=conn.createStatement ();
ResultSet rs=stmt.executeQuery (query);
while (rs.next()) {
String pass=rs.getString("pass");
}
...
Siempre debes hacer un next() antes de poder acceder a los datos.
Saludos !
PD: En versiones anteriores del driver Mysql SI se admitía la fórmula de acceder directamente sin necesidad de hacer next().
Gracias, saqué la solución un poco después de hacerte la pregunta, el que mi ejemplo tuviera que devolverme una sola fila me despistó en un ppio, pero era lo que tu me dices, gracias de nuevo.
1 saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas