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