FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Verificar si hay cambios en Datasets
En muchas ocasiones uso tablas de memoria (sobre todo las KbmMemTable) en conjunto con SQLDirect para trabajar con datos en memoria y en algún momento grabar los cambios generados en la base de datos, esa parte es facil, ambos son TDataSet, pero ¿que ocurre si la tabla tiene miles de registros y realmente no hubo ningún cambio en los datos? Con un "changed" no es suficiente porque eso cambia cuando uno entra a editar un registro, aunque realmente no cambie nada.
Para eso hice un método, que por más que recorre todos los Fields de la tabla y podría parecer lento, siempre es más rápido que ejecutar updates en la base, sobre todo si la base de datos es remota. En el uses hay que agregar variants y DB.
Para usarlo lo que hago es recorrer los registros de la tabla orígen y buscar si existe el registro en el destino, si existe chequea si hay cambios, si hay alguno edita el destino. Si no existe agrega el registro.
En realidad, el código anterior no lo tengo igual, ya que el último parámetro realmente lo tengo en True, para que modifique la query si hay cambios, por lo que lo llamo así:
Espero que les sirva, cualquier duda me pueden consultar...
__________________
Arsenio Lupín - howtoarsenio.blogspot.com |
#2
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Gracias por el aporte.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ejemplo de Datasets | microbiano | Conexión con bases de datos | 6 | 13-09-2010 19:40:45 |
pasar datasets a un dll | Gaby123 | Varios | 1 | 11-07-2008 07:16:44 |
Datasets anidados | Gong | Conexión con bases de datos | 2 | 20-07-2007 17:05:41 |
Añadiendo datasets | Noname | Varios | 0 | 17-07-2006 15:07:28 |
Datasets en Fastreports 3.20 | XaRz | Impresión | 0 | 27-01-2006 10:59:16 |
|