PDA

Ver la Versión Completa : duda con el uso de los TDBEdit


ercrizeporta
06-07-2005, 22:49:56
tngo un form para mostrar articulos y los muestro mediante dbedit, el problema surge que si modifico cualkier dbedit ese cambio se produce inmediatamente en la la tabla de la base de datos tambien. me gustaría saber si hay alguna forma de poder hacer que no se modifiquen en la base de datos hasta que yo no pulse un boton de confirmacion.

Gracias!!!

marcoszorrilla
06-07-2005, 22:54:20
Pues si tienes varias posibilidades una sería poner los DbEdiit sobre un panel y este ponerle su propiedad enabled = False, otra poner la propiedad Autoedit del Dataset a False y otra utilizar la propiedad ReadOnly de estos controles....


Un Saludo.

dmagui
06-07-2005, 22:54:49
Coloca la propiedad default action del Ibtransaction en rollback, y coloca un boton y cuando estes seguro de hacer el cambio sobre la base coloca el siguiente codigo:

IBDataSet1.ApplyUpdates;
IBTransaction.commit;


puedes hacerlo mas o menos asi ojala te sirva de algo, besos chupos y abrazos

el_barto
06-07-2005, 23:11:58
Pues no se puedo equivocarme pero acaso colocar el transaction en rollback obligaria a tener un boton u otro componente para siempre hacer el commit??

ercrizeporta
06-07-2005, 23:31:49
si lo hago mediante lo del transaction en rollback en el caso de que no kiera realizar los cambios aplicados tendría que realizar algo o se encargaría de realizarlo todo delphi??
gracias!

ercrizeporta
06-07-2005, 23:40:27
perdonad pero donde se modifica el transaction??es k no lo encuentro!!!

Neftali [Germán.Estévez]
07-07-2005, 09:54:57
...Coloca la propiedad default action del Ibtransaction en rollback,...
¿...pero en qué momento se ha dicho que trabaja con IB????? (me lo he perdido)
Porque si no es así, el pobre va a estar un buen rato buscando el dichoso IBTransaction... Y ya no te digo nada para encontrar la propiedad...:D

ercrizeporta
07-07-2005, 14:29:33
estoy trabajando con Ttables, como lo realizo con este tipo de tablas??

marcoszorrilla
07-07-2005, 14:36:12
Con lo que he dicho puede ser más que suficiente, lo que no entiendo es si quieres habilitar en un momento dado los campos por medio de un botón

MiPanel.Enabled:=True;

O quieres que se pueda escribir pero si pulsas el botón aceptar que se guarden los cambios.
MiTabla.Post;
o si pulsas cancelar que no se lleven a cabo éstos.
MiTabla.Cancel;

Un Saludo.

el_barto
07-07-2005, 14:39:21
Espera antes que nada y despues de todo, usas los componentes IB para hacer la conexion a la base de datos???, o como la haces??, usas un DataBase o un IBTransaction o como lo haces esplicanos

ercrizeporta
07-07-2005, 20:22:10
uso componentes del tipo BDE, uso un componente DBTable para enlazarla. espero me podais ayudar!!
muchas gracias!!

ercrizeporta
07-07-2005, 20:25:57
marcos, creo no me has entendido. mi idea es que los cambios que realizo al modificar los tdbedit solo se lleven a cabo en caso de pulsar algún boton de confirmacion, lo cual tu me dices que lo haga mediante el post, pero es k cuando modifico algun dbedit automaticamente es como si el programa hiciera el post aunqeu yo no kiera, es decir, que estas modificaciones las realiza directamente en la tabla tambien. Gracias, espero haberme explicado bien ahora!

marcoszorrilla
07-07-2005, 22:30:45
Pues aunque veas los cambios, solamente se realizarán si haces un "Post", por lo tanto por eso te indico que si tienes 2 botones por ejemplo Aceptar y Cancelar y colocas MiTabla.Post y MiTabla.Cancel, con el primero guardarías los cambios y con el contrario los cancelarías.

Un Saludo.

roman
07-07-2005, 22:39:23
es decir, que estas modificaciones las realiza directamente en la tabla tambien.

Toma en cuenta que un post se hace automáticamente cuando realizas una operación que fuerce al dataset a moverse de registro. ¿No tendrás algún evento que cause algo así?

// Saludos

ercrizeporta
09-07-2005, 15:59:22
creo que el unico evento posible que tngo que haga algo así es el poder mostrar otro registro. segun ustedes entonces si lo modifico y acto seguido cierro la tabla, entonces esos cambios no se realizan, es así?'
saludos

marcoszorrilla
09-07-2005, 17:54:30
Si modificas pero le aplicas Cancel en vez de Post no se harán los cambios.

Lo que te dice Román, es que por ejemplo si estás en una rejilla y haces un cambio y luego cambias de fila, esto implica un Post y por lo tanto los cambios se confirmarán.

Un Saludo.