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)
-   -   cancelar un insert en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=83753)

ebeltete 24-07-2013 00:59:23

cancelar un insert en Firebird
 
Hola a todos, uso Firebird con Delphi 5 y los componentes MDO, resulta que cuando hago un insert en una tabla y luego quiero cancelar ese insert, al hacer tabla.refresh, ese registro que hiba a insertar pero cancele su insercion con tabla.cancel, sigue estando en la muestra, para no verlo mas tengo que hacer tabla.close tabla.open.
Que hago mal?
Saludos y gracias.

look 24-07-2013 01:16:00

Cita:

Empezado por ebeltete (Mensaje 464394)
Hola a todos, uso Firebird con Delphi 5 y los componentes MDO, resulta que cuando hago un insert en una tabla y luego quiero cancelar ese insert, al hacer tabla.refresh, ese registro que hiba a insertar pero cancele su insercion con tabla.cancel, sigue estando en la muestra, para no verlo mas tengo que hacer tabla.close tabla.open.
Que hago mal?
Saludos y gracias.

tienes que usar transacciones ,

inicias una transaccion:
database.starttransaction

confirmas la transaccion:
database.commit.

este tema se ha tratato mucho en los foros.


Saludos!

look 24-07-2013 01:19:15

aqui un ejemplo:

http://www.clubdelphi.com/foros/show...=intransaction

ebeltete 24-07-2013 17:55:12

Gracias por tu respuesta, estoy usando transacciones y al cancelar la insercion hago un Transaction.RollbackRetaining.
El insert se cancela correctamente porque no modifica la tabla, el tema es que si hago tabla.refresh lo sigo viendo en la muestra, la manera de no verlo es haciendo tabla.close y tabla.open. No se si esta claro pero el tabla.cancel me funciona bien al querer modificar un registro, pero no me funciona bien al querer cancelar un insert.
Gracias y saludos


La franja horaria es GMT +2. Ahora son las 23:01:16.

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