bueno yo tengo el siguiente codigo y tampoco funciona, alguien tiene idea de por que
Código Delphi
[-] begin
dm_datos.ADOConnection1.BeginTrans;
try
DM_Datos.ADO_TFamiliaStock.Edit;
DM_Datos.ADO_TFamiliaStock.FieldByName('Nombre').AsString := ed_Nombre.Text;
DM_Datos.ADO_TFamiliaStock.FieldByName('CodFamiliaStock').AsString := ed_CodFamiliaStock.Text;
DM_Datos.ADO_TFamiliaStock.FieldByName('Descripcion').AsString := ed_Descripcion.Text;
DM_Datos.ADO_TFamiliaStock.FieldByName('UnidadDeMedida').AsString := ed_UnidadDeMedida.Text;
idfst:= dm_datos.Ado_TFamiliaStock.Fieldbyname('IdFamiliaStock').AsInteger;
DM_Datos.ADO_TFamiliaStock.Post;
MessageDlg('Los datos fueron modificados para el registro: '+#13+ed_Nombre.Text,mtWarning,[mbOk],0);
iStockActual:= dm_datos.GivmeStockActual(idfst);
iStockDeseado:= StrToInt(ed_cantidad.text);
bIsSerial0:= dm_datos.IsSerial0(idfst);
if (iStockDeseado <> IStockActual) and bIsSerial0 then
if iStockDeseado > iStockActual then
dm_datos.CrearStock( idfst, IStockDeseado-IStockActual)
else
dm_datos.EliminarStock(idfst, IStockActual- IStockDeseado);
BEditar.Caption := '&Editar';
except
on E:Exception do dm_datos.ADOConnection1.RollbackTrans;
end; end;
pero cuando le quito la transaccion, el codigo si trabaja bien, cabe indicar que los procedimientos : dm_datos.CrearStock y dm_datos.EliminarStock, hacen uso de la misma conexion de la transaccion, pero no usan transacciones, o eso creo