Hola muy buenas tengo un problema en el que llevo atasco un tiempo os cuento:
Tengo un jsp(Donde muestro listado de frutas (solo el nombre)) y cuando pincho en una fruta
me manda a otro jsp(Donde muestro datos mas concretos y especificos de la fruta).Para ello paso
de un jsp a otro un valor ID de la fruta que pincha.Con ese ID filtro en mi tabla y cojo toda
la información, pero a la hora de querer mostrarla llamando a campos de la tabla me da un error
(invalid cursor state).En cada jsp cierro la tabla y la vuelvo a abrir.Os pongo el codigo:
Primer jsp:(Fruta.jsp)
Frutas es la tabla
SELECT * FROM Frutas
int IDFruta = rs.getInt("ID");
out.print("<td><div><span><a href='FrutaDetalle.jsp?IDF=" + IDFruta + "'> detalles </a> </span></div></td>");
Segundo jsp:(FrutaDetalle.jsp)
int ID2;
ID2 = Integer.parseInt(request.getParameter("IDF"));
SELECT * FROM Frutas WHERE ID="+ID2
out.print("<td><div>" + rs.getString("Descripcion") + "</div></td>");
El ID de una pagina a otra me lo pasa bien.
La conexión a la base de datos la hago asi por cada jsp:
String db = "jdbc:odbc:DSNName;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(db);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM Frutas");
y al final de cada jsp:
con.close();
El error completo es:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state