У меня есть эта хранимая процедура, вызванная из моего контекста, и она не работает. Затем у меня есть другие хранимые процедуры, которые работают ... он не отправляет никаких ошибок.Сохраненная процедура не совершает транзакции
Это просто не внесение изменений.
var id = facturavm.Id;
if (facturavm.EstadoAnterior == 0)
{
var fecha = new DateTime(Convert.ToInt32(facturavm.Fecha[6].ToString() + facturavm.Fecha[7].ToString() + facturavm.Fecha[8].ToString() + facturavm.Fecha[9].ToString()), Convert.ToInt32(facturavm.Fecha[3].ToString() + facturavm.Fecha[4].ToString()), Convert.ToInt32(facturavm.Fecha[0].ToString() + facturavm.Fecha[1].ToString()));
var x = DBManager.Context.ModificarFactura(facturavm.IdCliente, facturavm.IdProveedor, fecha, facturavm.MonedaDescripcion, facturavm.MonedaCambio, facturavm.Estado, facturavm.Total, id);
DBManager.Context.SubmitChanges();
DBManager.Context.ModificarFactura_Eliminar(id);
DBManager.Context.SubmitChanges();
...
И мои хранимые процедуры:
(1) Один не работает:
CREATE PROCEDURE [dbo].[ModificarFactura]
@idCleinte int,
@idProveedor int,
@fecha date,
@monedaDescripcion varchar(50),
@monedaCambio float,
@estado int,
@total float,
@id int
AS
BEGIN TRY
BEGIN TRAN
UPDATE Factura
SET IdCliente = @idCleinte,
IdProveedor = @idProveedor,
Fecha = @fecha,
MonedaDescripcion = @monedaDescripcion,
MonedaCambio = @monedaCambio,
Estado = @estado,
Total = @total
WHERE Id = @id
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
END CATCH
RETURN 0
(2) И тот, который работает:
CREATE PROCEDURE [dbo].[ModificarFactura_Eliminar]
@idFactura int
AS
BEGIN TRY
BEGIN TRAN
DELETE FROM DetalleFactura
WHERE IdFactura = @idFactura;
DELETE FROM ImpuestoProyectoFactura
WHERE IdFactura = @idFactura;
DELETE FROM ProyectoFactura
WHERE IdFactura = @idFactura;
DELETE FROM Impuesto
WHERE IdFactura = @idFactura;
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
END CATCH
RETURN 0
Спасибо всем!
запустить его без попытки поймать, вы можете быть в состоянии исправить это –
@ARUN теперь я получаю мое исключение !! спасибо –
@ ARUN разрешил это! Но он все еще не совершает транзакцию -ModificarFactur- :( –