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交易:( –