Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Cancelar modificacion en DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=2562)

Er_Manué 29-07-2003 14:10:24

Cancelar modificacion en DBGrid
 
Holas!

Tengo un pequeño problemilla, estoy haciendo una aplicación de gestión comercial para mañejar facturas, tickets, albaranes, artículos, etc... El problema lo tengo con las facturas y es el siguiente:

Para almacenar los datos de la factura (concepto,descuento,precio de venta,etc...) utilizo un DBGrid enlazado a una tabla detallesFactura; para insertar no hay problema, pero a la hora de modificar los datos de las facturas... hay esta el problema; la modificación del DBGrid es directa sobre la tabla detallesFactura y si hacemos una modificación no se como cancelarla en el caso de que el usuario anule la modificación. Sobra decir que el usuario puede modificar, añadir y eliminar tantos articulos como quiera.

A ver si me podeis ayudar a ver como puedo solucionarlo.

Muchas gracias.

jhonny 29-07-2003 15:17:24

Código:

TDataSet.Cancel;
TDataSet.First;

Haber eso responde a tu pregunta?
Espero que si;)

__cadetill 29-07-2003 15:20:13

si lo que quieres es cancelar todos los cambios hechos durante la modificacion de una factura y estas en un entorno transaccional (lease Interbase, Firebird, SQL Server, Oracle....), puedes hacer un rollback de la transaccion

German C. C. 29-07-2003 15:20:44

Si es una tabla paradox o similar, supongo que lo que quieres decir, es que el usuario cancele la modificacion de la cabecera de la factura, y al mismo tiempo deberian cancelarse todas las modificaciones de todas las líneas de detalle. La unica forma de hacerlo es tener una tabla temporal que guarde todas las líneas de factura ya creadas en el momento de editar la factura (controlando el evento AfterEdit de la tabla de cabecera), y recuperando los datos grabados en ella si el usuario cancela la modificacion de la cabecera (controlando el evento AfterCancel de la tabla de cabecera).

Salu2.

Er_Manué 29-07-2003 19:02:52

musas grasias a todos por responder tan rapido :) la solución que me temia es la que dice German, usar tablas temporales :( muchas gracias a todos :)


La franja horaria es GMT +2. Ahora son las 23:33:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi