![]() |
Recuperar BookMark despues de cerrar dataset...
Hola Como andan todos?? Acá tengo una complicación la cual estuve buscando acá en el foro pero no encuentro un caso similar.
El problema es el siguiente tengo un dbGrig conectado al datasource y este al ZQuery, hago la búsqueda y despues le asigno una marca
despues abro un form donde listo los datos y en este form puedo modificar los datos, para hacer esto tengo que cerrar el Query Clientes y abrirlo con la sentencia Update. El problema es que al cerrar el query pierdo la marca arrojandome este error:''cannot perform this operation on a closed dataset'' lo cual es logico si yo antes la cerre. Estuve tratando de buscarle una solución pero con todo tenia problema. Espero que me puedan dar una mano. Desde ya muchas gracias. |
El problema es que no se sabe en que momento tomas el Bookmark. Con el ínfimo código que has puesto es muy difícil de saberlo. Así que cualquier intento de ayudar será como golpe de ciego.
Saludos, Chris |
Hola.
Como dice Chris, creo que el problema esta donde tomás el Bookmark, el alcance de la variable donde se almacena o si es modificada en algún punto, ya que el echo de cerrar la consulta no afecta a la variable TBookmarkStr. Te pongo un ejemplo simple por si te sirve de ayuda:
Un saludo. |
Hola Chris! Gracias por contestar!! Bueno ahora pongo el código y explico, hay código que esta fuera de contexto pero igual pongo los procedimientos completos.
1-Busco Cliente, Selecciono cliente en el dbGrig y pongo ver datos.
2-En el Form Create asigno los Edit.
3-Cuando se modifica un TEdit se habilita el boton Actulizar.
4-Una vez que Actualice hago click en el boton volver, para retornar al DBGrig y en este momento es cuando me da ese error.
Bueno esos son los pasos, espero que sirva ahora. Gracia Chriss y ecfisa!!!!! |
jajaja no se pueden quejar, querían código ahí tienen!!!:D
La variable PrevRecord la tengo declarada como variable global pero de tipo PrevRecord: TBookmark; y veo que ecfisa la declaro de tipo TBookmarkStr , sera eso? que es el Str que tiene adicional? string? Saludos!! |
Cita:
Un saludo. |
Cita:
TBookmark:
TBookmarkStr:
Aparte de que es más eficiente asignar valor a una propiedad, que llamar al procedimiento GotoBookmark. Un saludo. |
BuscarForm.ClientesDBGrid.DataSource.DataSet es lo mismo que QueryDataModule.ClienteZQuery? Si son lo mismo entonces puede ser que el problema sea que no estes volviendo abrir QueryDataModule.ClienteZQuery con la consulta para presentar los datos.
Saludos, Chris |
Hola Chriss, gracias a todos!!! Si es lo mismo, osea el DBGrid trabaja con el mismo Query (ClienteZQuery). Como seria eso de volver a abrir?
Te referís a que tengo que hacer un Select previo a la sentencia de Bookmark? Muchas gracias!!!! |
Cita:
|
Bueno estoy tratando de resolverlo, gracias a Chris y a ecfisa me quedo mas claro, el ejemplo que puso ecfisa es muy bueno y ayuda bastante.
Por ahora les digo Gracias a los dos! ;) Saludos!!! |
| La franja horaria es GMT +2. Ahora son las 01:40:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi