0
我有這個存儲過程從我的上下文調用,它不工作。然後我有其他存儲過程正在工作......它不發送任何錯誤。存儲過程不作交易
這只是沒有做出改變。
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解決了它!但它仍然沒有使-ModificarFactura交易:( –