Conexión a base de datos con swing

Tengo un problema a la hora de moverme por la base de datos. El nombre del archivo es Ver_Cliente. Tengo un botón siguiente que avanza en la base de datos perfectamente, pero el botón anterior no funciona me da error en esta linea:
---> resultado.previous();
No se si es por los cursores porque no tengo puesto ninguno pero que al ponerlos me da otro error, ponga el que ponga, este es el error que me da:
Exception in thread "main" java.lang.UnsupportedOperationException
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(JdbcOdbcConnection.java:1011)
at Ver_Cliente.<init><Ver_Cliente.java:74>
(Linea de los cursores)
at Ver_Cliente.main<Ver_Cliente.java:660>
(Linea del ResultSet)
Me gustaría una solución para poder seguir.
Respuesta
1
La verdad es que no tengo mucha experiencia en cursores de java.
Pero te cuento que por lo que tengo entendido, hay un problema en las versiones del jdk y jdbc sobre el manejo de cursores

3 respuestas más de otros expertos

Respuesta
1
Pues está claro que lo que yo sé es de MySQL que no tiene nada que ver con MSSQL.
NO puedo responderte a tu pregunta porque no soy experto.
Sólo te diré lo evidente. UnsupportedOperationException está claro "Operación NO SOPORTADA", osea, el driver JDBC (que en este caso es un puente JDBC - ODBC) NO soporta la operación previous().
¿Alternativas? Muchas. Te sugiero que guardes el resultado de la query en un array en memoria y te desplaces por él hacia adelante o hacia detrás tantas veces como quieras :)
Repito, MSSQL NO es lo mio :)
Suerte !
Respuesta
1
Cuando usas previous() estas refirendote imagino a un ResultSet.
Ejecutar previous requiere haber hecho un next() al menos. Se debe controlar el principio y fin del resultset.
La manera de trabajar con resulset de mejor manera es crear una clase que lo encapsule y que tenga un Vector (lista) de Vectores (registros) que se asocia como DataModel. Le mandas el resulset en el constructor y cargas en él el vector. Así puedes añadir métodos como boolean EoF(), boolena BoF(), setSelectedRow(int), etc.
Pero cunetame más detalles, si estas usando clases swing y cuales, una paginación J2EE en HTML, etc.
Respuesta
Por la información que me das lo único que puedo deducir es que la base de datos o el driver jdbc que estas utilizando no te permite volver atrás.
Sin tener que cambiar de driver y de base de datos una posible solución es que en una variable de tu programa almacenes el valor de la clave primaria del registro que pasa a ser el "anterior" cuando pulses siguiente, de manera que, cuando pulses anterior, hagas una nueva consulta y recuperes dicho registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas