![]() |
Post vs commit o ambos???
Hola gente del foro.... Soy nuevo en el foro y tambien en el uso de firebird. Estaba acostumbrado a utilizar bases de datos Paradox pero como sabemos surgen siempre dolores de cabeza con los indices y demas... Actualmente estoy desarrollando un sistema que usa firebird pero tengo dificultades a la hora de dar alta a nuevos registros. Generalmente cuando daba de alta al registro en paradox hacia:
y listo Ahora se utilizan en este tipo de bases de datos el commitretaining o el commit que cierra el datasource. Utilizo el componente Ibtable para las tablas pero no estoy plenamente convencido si debo o como hacer un commit despues del ibtable.post? |
Cita:
Mira este documento sobre transacciones, es un clásico "imperdible" :) |
Gracias por su pronta respuesta. Ahora un poco mas claro esta todo....
|
Ojo con campos autoincrementados, digamos que tienes un campo ID=1 (tu primer registro), haces un post y luego por cualquier cosa abortas el commit. Ya no es seguro que el último ID siga siendo ID=1 pues otra estación puede haber guardado antes, la única que te garantiza que guardaste todo bien es Commit.
|
Buena sugerencia y si, es cierto que uso autoincrementales. Ahora el tema es commit o commitreteining
En mi caso siempre abro las bases de datos cuando inicia el programa, es decir, abro el database y las tablas y las mantengo abiertas hasta el cierre del programa. No se si es una practica correcta pero me sucede que si hago un commit solo debo reabrir la tabla... Creo que tengo una buena ensalada de conceptos.. jaja |
No se que piensen mis compas, pero lo ideal es abrir unicamente la conexion y esa si mantenerla abirerta, ya los queries y demás se abren según se vayan necesitando.
|
Se abre la conexión a la base de datos y luego se abren/ejecutan los query que se necesiten y se cierran.
Tablas, no uso tablas. Cita:
|
En teoría CommitRetaining hace lo mismo y mantiene la consulta abierta.
Un Saludo. |
Gracias a todos por la predisposicion me han sido de gran ayuda.
|
La franja horaria es GMT +2. Ahora son las 12:55:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi