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

problema al usar last() en un ResultSet

Estas en el tema de problema al usar last() en un ResultSet en el foro de Java en Foros del Web. tengo un problema q nose puedo solucionarlo estoy haciendo mi prgrama q se conecta a una bd access todo va bien ,ya logre poner el ...
  #1 (permalink)  
Antiguo 06/06/2007, 11:33
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Información problema al usar last() en un ResultSet

tengo un problema q nose puedo solucionarlo
estoy haciendo mi prgrama q se conecta a una bd access
todo va bien ,ya logre poner el resultset de toda una tabla(tabla de la bd) en un jtable q sera mostrado al usuario
el problema es cuando uso la funcion last() del resultset ,me da una excepcion
q al mostar el excepcion.getMessage() dice:

Result set type is TYPE_FORWARD_ONLY
ya probe cambiando la direccion de mi objeto resultset y todo y nada

como hago para llegar al ultimo registro de mi resultset?
tambien probe haciendo :

while( miObjetResultSet.next())
{
if(miObjetResultSet.isLast())
System.out.println("soy el ultimo registro");

}
pero me da el mismo mensaje de excepcion

lo que quiero es encontrar el ultimo ragistro y sacarle el id de ese registro ,para q el proximo regisro q sea ingresado sea el id anterior +1
algo asi para q funcione con autoincremental ,pero no puedo ,ayudenme porfavor

Pd
para ejecutar las consultas estoy usando un Statement

miobjetoStatement.execute(sql); //para insertar
miobjetoStatement.executeQuery(sql); //para consultar

ya saben a lo q me refiero
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #2 (permalink)  
Antiguo 06/06/2007, 11:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: problema al usar last() en un ResultSet

Posiblemente Access, o mejor dicho el driver JDBC que uses para acceder, no te permita tener ese tipo de cursores, ya que segun el nivel de JDBC que implementen, es posible.

Las opciones serían usar otro driver que te lo permita, puede que para Access deba ser de pago, o leer el resultado del ResultSet en memoria y atacar a la copia en memoria en vez del ResultSet.

S!
  #3 (permalink)  
Antiguo 07/06/2007, 06:52
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años
Puntos: 2
Re: problema al usar last() en un ResultSet

ya solucione el problema
Statement s=con.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,ResultSet.CONCUR_READ_ONLY);
aumente esos atributos y funciono
hay alguna forma de conectar con un .mdb(access) sin estar poniendo un DSN en el ODBC ? hay otra forma de conectarlo?
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #4 (permalink)  
Antiguo 07/06/2007, 08:33
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: problema al usar last() en un ResultSet

Bien, eso es que el driver si te soporta ese tipo de cursores. En cuanto a drivers JDBC, no puedo decirte mucho por que no uso Access pero se que hay más drivers aparte del puente ODBC-JDBC y puede que alguno de ellos no necesite ODBC, pero seguramente sólo servirá si accedes en local al fichero directamente, ya que Acces en si no es un "servidor de base de datos".

S!
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 08:02.