Ver Mensaje Individual
  #1  
Antiguo 09-03-2016
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Reputación: 21
santiago14 Va por buen camino
Question Uso de TFDScript

Buenas, estoy intentando hacer un pequeño Script para borrar unos datos en mi Firebird 2.5.
Estoy usando TFDScript y Delphi XE5.

Paso a continuación el código que tengo.
Código Delphi [-]
procedure TfrmVueltaAtrasUltimoBoletin.btnVueltaAtrasClick(Sender: TObject);
begin
  if IDYES = Application.MessageBox(PWideChar('¿Confirma vuelta atrás del último Boletín (BOD) registrado?'
    + #13#10 + 'Esta acción NO PODRÁ deshacerse.'),
    PWideChar(Self.Caption), MB_YESNO + MB_ICONQUESTION) then
  begin
    with DataModule1 do
    begin
      terminarTransaccion;
      try
        trxBoletin.StartTransaction;
        //BorrarUltimoBoletinRegistrado(scrptUltimoBoletin, GetCodBOD);
        scrptUltimoBoletin.SQLScriptFileName:='Scripts\VueltaAtras.sql';
        scrptUltimoBoletin.Params[0].AsInteger:=GetCodBOD;
        scrptUltimoBoletin.ValidateAll;
        scrptUltimoBoletin.ExecuteAll;
        trxBoletin.Commit;
        Application.MessageBox('Vuelta atrás terminada.',
          PWideChar(self.Caption), MB_OK + MB_ICONINFORMATION);
        Close;
      except
        on e:Exception do
        begin
          terminarTransaccion;
          mErrores(e, 'Imposible completar la operación solicitada.',
            self.Caption);
        end;
      end;
    end;
  end;
end;

Ahora muestro lo que tengo en el archivo .sql

Código SQL [-]
Delete from avisosxboletines_digitales a
Where a.cod_boletin_digital = :codigo;


Delete from avisosadminxboletines_digitales ax
where ax.cod_boletin_digital = :codigo;


Delete from boletines_digitales b
Where b.cod_boletin_digital = :codigo;

Update entorno_boletin_digital u set u.valor_ebd = CAST(u.valor_ebd AS integer) - 1
Where u.nombre_ebd = 'ULTIMO_NRO_EDICION';

El parámetro :codigo lo he definido a través de: TFDScript.Params

La cuestión es que esta secuencia no me tira ningún error, llega al Commit sin drama y me dice que la operación se hizo correctamente. Pero cuando voy a ver mi BBDD, los datos siguen ahí, no se borraron los registros que quiero.
He comprobado este script SQL haciéndolo directamente en Script Executive de IBExpert y funciona bien, no hay errores.
¿Podría decirme alguien que estoy haciendo mal?

Muchas gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita