Pregunta: | 363 - MANEJO DE TRANSAC. DE SQL SERVER |
Autor: | David Rojas Avila |
Tengo una Base de Datos en SQL Server 6.5 con 3 Tablas. En una de ellas estoy ejecuto la Transacción Insert y me indica el siguiente Error: 40088, No Open Cursor or Cursor Closed. En la tabla se alcanza a insertar un registro y luego aparece este error. A quien haya solucionado este error, ruego me conteste |
Respuesta: | Patricio Araya Castro |
Dado que la inserción se realiza una solución parcial es colocarla dentro de un controlador del error:
Private Sub Command1_Click() on error goto Error1: TUS SENTENCIAS DE INSERCION Error1: msgbox "Datos Ingresados Correctamente" End Sub Aun cuando ocurra el error de cursor el sistema seguirá funcionando. |
Respuesta: | Patricio Araya Castro |
Otra Solución más limpia:
Private Sub Command1_Click() 'escribes tu sentencia SQL en una variable String, algo parecido a lo que sigue SQL = "INSERT INTO TuTabla VALUES ....etc" msrdc1.SQL = SQL msrdc1.Connection.Execute SQL End Sub |
Respuesta: | Sergio Mina |
Lo que yo ago antes de realizar una transaccion es que el cursor lo pongo de lado del cliente, por que igual me envia el error que tu indicas, pero solo cuando hago un select, no estaria de mas que en tu variable de conexion.cursorlocation= client. Intentalo..espero que resulte. |
Respuesta: | Fernando Berenguer Doméne |
Cuando se lanza una consulta SQL, a través de ODBC, ya sea de consulta o de acción, una vez terminada la consulta tienes que liberarla con SQLFreeStatement, (si no recuerdo mal), de lo contrario, aunque lo haya hecho todo bien y haya terminado bien, te da el error de cursor invalido. De todos modos buscaré el ejemplo exacto y te lo mandaré. Pruébalo. Espero tu respuesta. |