![]() |
duda con el uso de los TDBEdit
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!!! |
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. |
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 |
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??
|
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! |
perdonad pero donde se modifica el transaction??es k no lo encuentro!!!
|
Cita:
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 |
estoy trabajando con Ttables, como lo realizo con este tipo de tablas??
|
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
O quieres que se pueda escribir pero si pulsas el botón aceptar que se guarden los cambios. o si pulsas cancelar que no se lleven a cabo éstos.
Un Saludo. |
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
|
uso componentes del tipo BDE, uso un componente DBTable para enlazarla. espero me podais ayudar!!
muchas gracias!! |
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!
|
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. |
Cita:
// Saludos |
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 |
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. |
| La franja horaria es GMT +2. Ahora son las 19:51:48. |
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