Disculpa CORBATIN, pero voy a cambiar tus traducciones:
Con querys modificables:
Código:
procedure TForm1.ApplyButtonClick(Sender: TObject);
begin
with CustomerQuery do
begin
Database1.StartTransaction; {Abre la transacción}
try
ApplyUpdates; {Intenta escribir las modificaciones en la base de datos};
Database1.Commit; {Si el ApplyUpdates es exitoso, cierra la transacción y guarda los datos};
except
Database1.Rollback; {Si el ApplyUpdates falla, deshace los cambios};
raise;
end;
CommitUpdates; {si es exitoso, borra el cache}
end;
end;
Con ExecSQL modificables:
Código:
procedure TForm1.ApplyButtonClick(Sender: TObject);
begin
with CustomerQuery do
begin
Database1.StartTransaction; {Abre la transacción}
try
Sql.Text := 'UPDATE....';
ExecSQL;
Database1.Commit; {cierra la transacción y guarda los datos};
except
Database1.Rollback; {Si Falla, deshace los cambios};
raise;
end;
end;
end;