2023年6月21日发(作者:)

存储过程输出参数的调⽤(简单例⼦)如:存储过程如下:create PROC [dbo].[exchange_UserFinance]@uId int,@uType int,@uAmount decimal(9,2),@uAfterRemainAmount decimal(9,2),@uOPid int,@uText varchar(200),@uNote1 varchar(200),@uNote2 varchar(200),@uNote3 varchar(200),@uRemainAmount decimal(9,2) output AS

DECLARE @uTime datetime SET @uTime=getdate() SET @uRemainAmount=0.00 BEGIN

BEGIN TRAN

INSERT INTO [IP_UserFinance]( [uId],[uTime],[uType],[uAmount],[uAfterRemainAmount],[uOPid],[uText],[uNote1],[uNote2],[uNote3] )VALUES(@uId,@uTime,@uType,@uAmount,@uAfterRemainAmount,@uOPid,@uText,@uNote1,@uNote2,@uNote3) IF @@RowCount<>1 BEGIN

ROLLBACK TRAN

SET @uRemainAmount=0 RETURN

END

UPDATE [IP_UserRemainAmount] SET [uRemainAmount] = @uAfterRemainAmount,[uTime] = @uTime WHERE

IF @@RowCount<>1 BEGIN

ROLLBACK TRAN

SET @uRemainAmount=0 RETURN

END

COMMIT TRAN

SET @uRemainAmount=(SELECT uRemainAmount FROM IP_UserRemainAmount WHERE ) 调⽤ public static decimal modifyOfficeOrAgentFinance(IP_UserFinance agentmodel) { SqlParameter[] parms = new SqlParameter[] { new SqlParameter ("@uId", ,4),

}; parms[0].Value = ; object remainagent = null; try { remainagent = eScalar(tionString, Procedure,"WSSelectIP_UserInFoFinanceOne", parms); if (remainagent == null) { return -1; } }catch(Exception) { return 0; } SqlParameter[] parameters = { new SqlParameter("@uId", ,4), new SqlParameter("@uType", ), new SqlParameter("@uAmount", l,9), new SqlParameter("@uAfterRemainAmount", l,9), new SqlParameter("@uOPid", ,4), new SqlParameter("@uText", r,200), new SqlParameter("@uNote1", r,200), new SqlParameter("@uNote2", r,200), new SqlParameter("@uNote3", r,200), new SqlParameter("@uRemainAmount", l)}; if (mal(remainagent) < t) { return -2; } parameters[0].Value = ; parameters[1].Value = ; parameters[2].Value = t; parameters[3].Value = (mal(remainagent), t); parameters[4].Value = ; parameters[5].Value = ; parameters[6].Value = 1; parameters[7].Value = 2; parameters[8].Value = 3; parameters[9].Direction = ; try { mal(eScalar(tionString, Procedure,"exchange_UserFinance", parameters)); return mal(parameters[9].Value); } catch { return 0.00m; } }

2023年6月21日发(作者:)

存储过程输出参数的调⽤(简单例⼦)如:存储过程如下:create PROC [dbo].[exchange_UserFinance]@uId int,@uType int,@uAmount decimal(9,2),@uAfterRemainAmount decimal(9,2),@uOPid int,@uText varchar(200),@uNote1 varchar(200),@uNote2 varchar(200),@uNote3 varchar(200),@uRemainAmount decimal(9,2) output AS

DECLARE @uTime datetime SET @uTime=getdate() SET @uRemainAmount=0.00 BEGIN

BEGIN TRAN

INSERT INTO [IP_UserFinance]( [uId],[uTime],[uType],[uAmount],[uAfterRemainAmount],[uOPid],[uText],[uNote1],[uNote2],[uNote3] )VALUES(@uId,@uTime,@uType,@uAmount,@uAfterRemainAmount,@uOPid,@uText,@uNote1,@uNote2,@uNote3) IF @@RowCount<>1 BEGIN

ROLLBACK TRAN

SET @uRemainAmount=0 RETURN

END

UPDATE [IP_UserRemainAmount] SET [uRemainAmount] = @uAfterRemainAmount,[uTime] = @uTime WHERE

IF @@RowCount<>1 BEGIN

ROLLBACK TRAN

SET @uRemainAmount=0 RETURN

END

COMMIT TRAN

SET @uRemainAmount=(SELECT uRemainAmount FROM IP_UserRemainAmount WHERE ) 调⽤ public static decimal modifyOfficeOrAgentFinance(IP_UserFinance agentmodel) { SqlParameter[] parms = new SqlParameter[] { new SqlParameter ("@uId", ,4),

}; parms[0].Value = ; object remainagent = null; try { remainagent = eScalar(tionString, Procedure,"WSSelectIP_UserInFoFinanceOne", parms); if (remainagent == null) { return -1; } }catch(Exception) { return 0; } SqlParameter[] parameters = { new SqlParameter("@uId", ,4), new SqlParameter("@uType", ), new SqlParameter("@uAmount", l,9), new SqlParameter("@uAfterRemainAmount", l,9), new SqlParameter("@uOPid", ,4), new SqlParameter("@uText", r,200), new SqlParameter("@uNote1", r,200), new SqlParameter("@uNote2", r,200), new SqlParameter("@uNote3", r,200), new SqlParameter("@uRemainAmount", l)}; if (mal(remainagent) < t) { return -2; } parameters[0].Value = ; parameters[1].Value = ; parameters[2].Value = t; parameters[3].Value = (mal(remainagent), t); parameters[4].Value = ; parameters[5].Value = ; parameters[6].Value = 1; parameters[7].Value = 2; parameters[8].Value = 3; parameters[9].Direction = ; try { mal(eScalar(tionString, Procedure,"exchange_UserFinance", parameters)); return mal(parameters[9].Value); } catch { return 0.00m; } }