Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Reordenar una consulta (https://www.clubdelphi.com/foros/showthread.php?t=69023)

afxe 21-07-2010 12:59:53

Reordenar una consulta
 
Hola foreros.

D7, FB2.0: Tengo en mente cambiar la forma de tratar procesos cabecera-detalles, ahora cargo los detalles en una tabla de memoria, los saco al ruedo para la lidia del usuario y cuando decide grabar, vuelvo a volcar la tabla de memoria sobre la base de datos, si decide cancelar, pues cierro las tablas y listo. El caso es que me gustaría cargar la consulta con una query y trabajarla directamente con una transacción, mandando un commit o un rollback. Primero, acepto consejos de los que esteis trabajando con este sistema, y segundo, ¿Se puede reordenar una consulta cargada en un TIBQuery sin tener que volver a lanzar la consulta? (Relanzar el query me obligaría a comitear, y si el usuario se arrepiente de lo que hace no tiene posibilidad de marcha atrás).

Saludos.

guillotmarc 21-07-2010 13:47:52

Si trabajas con ClientDatasets entonces podrás hacer directamente lo que pides.

Puedes hacer la consulta, trabajar con los datos en memoria, y cuando quieras los grabas todos de golpe, o cancelas todos los cambios.

También puedes cambiar la ordenación del ClientDataset en cualquier comento, sin que por ello se tengan que volver a consultar los datos.

Saludos.

manuc 22-07-2010 12:06:56

Hola afxe,

Cita:

Empezado por afxe (Mensaje 371029)
(Relanzar el query me obligaría a comitear, y si el usuario se arrepiente de lo que hace no tiene posibilidad de marcha atrás)

No suelo trabajar mucho con Transacciones, pero creo que esto no es del todo así.

Depende de qué componentes utilices y de cómo tengas configuradas los componentes de transacciones.

Pero creo que podrías cerrar y abrir nuevamente tu query sin que esto afecte al posible Rollback o Commit de tu transacción.

Un saludo.


La franja horaria es GMT +2. Ahora son las 21:46:55.

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