FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Combinación fallida de Filter, RevertRecord y UpdateStatus
Hola a todos.
Hace tiempo que no escribía sobre TClientDataSet, una clase nativa sobre la que he trabajado considerablemente y que aún sigue dándome una que otra sorpresa (la mayoría buenas). Hoy encontré una posible falla en la versión de Delphi 7 de ese componente, la cual me gustaría compartir aquí. Primero que nada para advertir sobre su existencia y proponer un sencillo remedio (work around), pero también para saber si se trata de un defecto conocido y si éste persiste en las nuevas versiones de Delphi. Con un objeto TClientDataSet nativo que ya se encuentre abierto y ordenado por su campo llave (ID en este ejemplo), hagamos lo siguiente:
El remedio que encontré fue casi obvio: usar Delete en lugar de RevertRecord. La ayuda de Delphi no especifica si el método RevertRecord es aplicable solamente a registros que tienen el estado usModified, o si también puede ser utilizado con los que tienen el estado usInserted. No obstante, parece funcionar muy bien en el segundo caso mientras el conjunto de datos no tenga un filtro activo. Así pues, mi recomendación sería que se utilice el método Delete en lugar de RevertRecord si se desea eliminar de la lista de cambios a algún registro nuevo (al menos mientras exista el problema planteado). Por otra parte, con los registros traídos de la base de datos y modificados en memoria (estado usModified), no parece haber problema al usar RevertRecord para deshacer sus cambios aunque haya un filtro presente. Espero sea de ayuda lo anterior, y de antemano gracias por cualquier información relacionada que puedan proporcionar. Un abrazo irreversible. Al González. Última edición por Al González fecha: 30-07-2010 a las 00:55:15. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Connection fallida | el-mono | Firebird e Interbase | 1 | 30-12-2008 22:24:14 |
Migración Fallida | Shadowless | Windows | 2 | 29-10-2008 10:53:12 |
Prueba turbo Delphi Net Fallida | ASAPLTDA | Varios | 0 | 08-05-2007 18:54:39 |
Conexion fallida con FireBird | mvelgar | Conexión con bases de datos | 3 | 05-05-2007 02:59:27 |
Combinación de teclas | Jose_Pérez | API de Windows | 2 | 17-06-2003 11:57:30 |
|