Ver Mensaje Individual
  #1  
Antiguo 17-11-2008
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Reputación: 21
marcial Va por buen camino
RollBack Retaining

Hola a todos:
Trabajo con: D5, FibPlus e Firebird 2.1
Tengo infinidad de dudas sobre firebird y he leido muchos articulos que proponeis, pero a la hora de ponerlos en practica.....puaf. (soy torpe).
Mi duda ahora es la siguiente:
Tengo un DataSet Familias, un botón grabar y otro RollBack de la siguiente manera:
Botón Grabar:
Código Delphi [-]
         SQL := 'UPDATE or INSERT INTO FAMILIAS (CODIGO, DESCRIPCION) VALUES (:Parametro1,:Parametro2)';
         if pFIBTransaction1.InTransaction then pFIBTransaction1.Commit;
         pFIBTransaction1.StartTransaction;
         FAMILIAS.InsertSQL.Clear;
         FAMILIAS.SQLs.InsertSQL.Add(SQL);
         FAMILIAS.QInsert.ParamByName('Parametro1').AsString := Edit3.Text;
         FAMILIAS.QInsert.ParamByName('Parametro2').AsString := Edit5.Text;
         FAMILIAS.QInsert.ExecQuery;
         pFIBTRansaction1.CommitRetaining;

Con eso graba bien.

Botón RollBack:
Código Delphi [-]
pFIBTransaction1.RollBackRetaining;

La Transacción es: ReadCommited
write
nowait
rec_version
read_committed

Pues bien, yo modifico un dato y le doy a grabar y lo graba bien, pero inmediatamente despues le doy al botón RollBack y no me hace nada, es decir, no vuelve atras el valor que tenia el DataSet antes de dar al ComminRetaining.

Podríais ayudarme?

Muchas gracias a todos
Marcial
Responder Con Cita