FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Error: Cannot perform this operation on a closed dataset
Hola gente,
Les cuento que estoy haciendo un programita el cual me esta llevando mucho tiempo porque me sale un error que no se como solucionarlo, me podrían ayudar? Resulta que tengo un formulario donde agrego tareas, lo ejecuto y funciona, pero cuando agrego varias tareas a la vez me sale el siguiente error: ' Cannot perform this operation on a closed dataset' y la verdad es que no tengo idea de como solucionarlo. Agradecere mucho su ayuda, saludos |
#2
|
|||
|
|||
Hola,
la traduccion de este error es que no se puede hacer la operacion en un conjunto de datos cerrados. Esto es, tienes el query o la tabla cerrados. Para abrirlos, debes usar query.open o bien query.active := true. En caso de ser tablas, table.Open. Ten en cuenta que si usas ado y queries, despues de un 'select' debes usar active := true, mientras que para el resto debes usar ExecSQL. saludos |
#3
|
|||
|
|||
Hola, gracias por la rapidez de tu repuesta.
Pero te cuento que esas consideraciones las tuve en cuenta. En agregar una tarea uso un insert, (tarabajo con ado y query), y al terminar pongo ExecSQL, Y tengo otro procediemiento donde uso un select, decime escribo query.active:= true o query.open? Igual probe de las dos maneras y me sigue saliendo error. |
#4
|
|||
|
|||
Bien, deberias hacer algo asi
al final debes abrirla para poder seguir trabajando con ella. Usa el debugger (f5,f7,f8) para saber exactamente en que linea te salta y prueba de ponernos el codigo, si aun no se soluciona. PD: personalmente siempre uso active := false, active := true, aunque creo que son completamente equivalentes. Eso si, para el select el active/open. Para el resto, el execsql. No entiendo esta distincion en ado, pues en bde no ocurre, pero asi es. Saludos. |
#5
|
|||
|
|||
ok, mira sos super, muchas gracias por tu ayuda, pero no tuve exito, asi que te paso mi codigo original y decime como lo arreglo porfis:
donde buscaroperador es:
Última edición por roman fecha: 02-07-2008 a las 17:13:14. Razón: Corregir etiquetas [delphi] |
#6
|
|||
|
|||
y donde te salta la excepcion? en el execsql? o despues?
creo que el problema te viene del dbgrid1.Fields[0].Value, y, si cbasunto y mcom son dbedits, quiza tambien por alli. prueba de poner valores de test a estos o ves comentando las lineas, para saber exactamente que es lo que te lo esta provocando, si no es en el execsql. Usa f5,f7,f8 para saber exactamente donde te salta. El debugger esta precisamente para esto. Última edición por coso fecha: 02-07-2008 a las 16:43:17. |
#7
|
||||
|
||||
No estan funcionando correactamente las etiquetas de DELPHI
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Canont perform this operation on a closedataset | yhoho | SQL | 22 | 18-02-2008 17:03:54 |
Cannot perform this operation on a ON A CLOSED DATASET | Yun-i | Varios | 23 | 22-01-2008 18:35:19 |
Firebird - Delphi (Cannot perform operation...) | papulo | Conexión con bases de datos | 5 | 26-10-2005 18:43:22 |
Closed dataset | srobles | Conexión con bases de datos | 3 | 14-03-2005 21:10:24 |
FB+IBX error: IBSQL closed | apicito | Conexión con bases de datos | 0 | 29-05-2003 12:39:57 |
|