Ver Mensaje Individual
  #2  
Antiguo 10-02-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No entiendo como puede funcionar con comillas, pero si dices que lo hace, será así.
De todos modos, si te fijas en el Select, los parámetros no tiene comillas (:IDMEN)
Código SQL [-]
select * from "Cabeceras"
where
  "idMensaje" = :IDMEN
Por lo tanto, creo que por lo menos los parámetros en el Update tampoco deberían llevarlas:
Código SQL [-]
update "Cabeceras"
set
  "Cabeceras"."procesado" = rocesado
where
  "Cabeceras"."idMensaje" = :OLD_idMensaje
También puedes probar el quitar la parte OLD_ del parámetro

Código SQL [-]
update "Cabeceras"
set
  "Cabeceras"."procesado" = rocesado
where
  "Cabeceras"."idMensaje" = :idMensaje

Y finalmente, si no te da ningún error, puede deberse a que todo está dentro de algún bloque try...except más amplio.
Prueba lo siguiente para ver si falla en algún lado:
Código Delphi [-]
       try
         DMRepara.QrPre.Close;
         DMRepara.QrPre.UnPrepare;
         DMRepara.QrPre.ParamByName('ENTRE').asstring := DMRepara.QrCab.FieldbyName('numPreaviso').asstring;
         DMRepara.QrPre.Prepare;
         DMRepara.QrPre.Open;
         DMRepara.QrPre.First;
         while not DMRepara.QrPre.Eof do
         Begin
           if DMRepara.QRPre.FieldByName('numEntre').AsString =
              DMRepara.QRCab.FieldByName('numEntre').AsString then
           Begin
             try
               DMRepara.QrUCab.Close;
               DMRepara.QrUCab.UnPrepare;
               DMRepara.QrUCab.ParamByName('IDMEN').asinteger := DMRepara.QrPre.FieldbyName('idMensaje').asinteger;
               DMRepara.QrUCab.Prepare;
               DMRepara.QrUCab.Open;
               DMRepara.QrUCab.Edit;
               DMRepara.QrUCab.FieldByName('procesado').AsString := '1';
               DMRepara.QrUCab.Post;
             except
               on E:exception do ShowMessage(E.Message);
             end;
           end;
           DMRepara.QrPre.Next;
         end;
         DMRepara.QRPre.Active := False;
         DMRepara.QrCab.Next;
       except
         on E:exception do ShowMessage(E.Message);
       end;
     end;
   end;
   DMRepara.QrUCab.ApplyUpdates;
   DMRepara.TRPuerto.Commit;
   DMRepara.QrEntr.Close;
   DMRepara.QrPre.Close;
   DMRepara.QRCab.Close;
   DMRepara.QrUCab.Close;

Última edición por duilioisola fecha: 10-02-2009 a las 15:37:57.
Responder Con Cita