La Web del Programador: Comunidad de Programadores
 
    Pregunta:  6851 - ERROR DE CONECCION SQL
Autor:  Gerardo Gradilone
hice una coneccion a una base SQL, aparentemente la coneccion se efectua pero despues no puedo recuperar ningun tipo de datos.
El error es el siguiente:
------------------------***-------------------------
[Microsoft][ODBC Driver Manager] Invalid cursor state
------------------------***-------------------------
Lamentablemente no se que significa o como podria solucionarlo, si alguien podria ayudarme, le agradeceria.

  Respuesta:  Jose luis Frias
Cuando te da ese error es porque estas queriendo acceder a tablas que estan siendo consultadas por otros usuarios o procesos.
En una palabra es un problema de CONCURRENCIA. La mejor forma de solucionarla es agrego en MS-SQL SERVER, WITH(NOLOCK) a cada tabla
Ejemplo:
-------------
USE PUBS
SELECT *
FROM AUTHORS WITH(NOLOCK)

Saludos

  Respuesta:  Jesus Jimenez
Lo que debes hacer despues de obtener el ResultSet colocar el cursor en la primera posicion, esto se hace segun los resultados que te de la select, si es mas de un resultado:
ResultSet rs_consulta=.....(select);
while(rs_consulta.next()) //posicionar el cursor
{
//tratamiento del resultado
}

si solo va a car un resultado igual pero sin el while
ResultSet rs_consulta=......(select);
rs_consulta.next(); //posicionado el cursor
// tratamiento del resultado

  Respuesta:  David del Amo Mateos
Puede ser q hayas creado mal Statement o el ResultSet. Asegurate de q esten correctamente creados, ademas si es un controlador ODBC seguramente no puedas hacer ciertas cosas con el ResultSet, como por ejemplo ir hacia atras o al principio. Si no es eso enviame un correo con mas datos si puedes y tratare de ayudarte :) espero q t sirva de algo.