Hola chicos:
Es un gran placer saludarlos por este medio.
ultimamente me habian comunicado algunos usuarios que al realizar una actualización en un campo llamado cantidad en ocasiones no afecta dicho campo la actualización.
Código Delphi
[-]
trnActualizaStock := dmConecta.FBLINUXCONECTION.BeginTransaction;
try
cdsAgregaProductos.First;
while not cdsAgregaProductos.Eof do
begin
cantdataset := cdsAgregaProductosCANTIDAD.AsFloat;
stockactual := cantidadDisponibleinv
(cdsAgregaProductosID_PRODUCTO.AsInteger);
nuevacantStock := AumentaCantArticulos(cantdataset, stockactual);
with dmComprar.qAumentaStock do
begin
sql.Clear;
sql.Text := 'UPDATE ARTICULOS SET CANTIDAD = :CANTIDAD, ' +
'FECHA_INGRESOART= :FECHA_INGRESOART WHERE ID_ARTICULO = :ID_ARTICULO';
ParamByName('FECHA_INGRESOART').AsDateTime :=
dtpFechaIngresoCompra.DateTime;
ParamByName('CANTIDAD').AsFloat := nuevacantStock;
ParamByName('ID_ARTICULO').AsInteger :=
cdsAgregaProductosID_PRODUCTO.AsInteger;
Execsql;
end;
cdsAgregaProductos.Next;
end;
dmConecta.FBLINUXCONECTION.CommitFreeAndNil(trnActualizaStock);
Except
On e: exception do
begin
dmconecta.FBLINUXCONECTION.RollbackFreeAndNil(trnActualizaStock);
ShowMessage('Error Encontrado' + e.Message);
dmConecta.RegistraLog(Variables.Usuario + ' CON ERROR AL ACTUALIZAR CANTIDADES: ' +
e.Message);
Exito := False;
Raise;
end;
cabe aclarar que esto normalmente no sucede a diario es algo que puede ser 1 de 1000 transacciones por decir algo.
pero aún así sucede. alguien sabe el porqué puede pasar o cómo evitar orque el sistema no manda ningún error en transacción.
Saludos;
novato_erick